Typy spojení nejen v Power Query
Power Query nabízí při slučování dotazů šest typů spojení a z jejich názvů není na první pohled poznat, co který udělá. Tady je jejich přehled jednou větou na každý typ.
Šest typů spojení v dialogu Sloučit dotazy
Spojení vždy pracuje s prvním (levým) a druhým (pravým) dotazem a s klíčem, podle kterého se řádky párují. Klíč musí být na obou stranách čistý: bez mezer navíc a bez rozdílů v diakritice, jinak se řádky nespárují.
| Typ spojení | Co vrátí |
|---|---|
| Levé vnější | všechny řádky z prvního dotazu a k nim odpovídající z druhého |
| Pravé vnější | všechny řádky z druhého dotazu a k nim odpovídající z prvního |
| Úplné vnější | všechny řádky z obou dotazů, spárované i nespárované |
| Vnitřní | jen řádky, které mají protějšek v obou dotazech |
| Levé anti | jen řádky prvního dotazu, které v druhém protějšek nemají |
| Pravé anti | jen řádky druhého dotazu, které v prvním protějšek nemají |
Jak si vybrat
- Doplňuji k datům údaje odjinud (k prodejům názvy produktů): Levé vnější. Je to výchozí volba a v praxi ta nejčastější.
- Chci jen to, co sedí v obou tabulkách: Vnitřní.
- Hledám, co se nespárovalo (zákazníci bez objednávky, kódy, které v ceníku chybí): Levé anti. Je to nejrychlejší kontrola kvality dat, jakou v Power Query máte.
- Potřebuji vidět všechno naráz a rozdíly dohledat později: Úplné vnější.
Levé a pravé spojení dělají totéž, jen z opačné strany. Když víte, že se výsledek dá získat oběma směry, vyberte ten, kde je „hlavní“ tabulka první – výsledek se pak lépe čte.
Grafické znázornění
Nejpřehlednější obrázky všech typů spojení (Vennovy diagramy s ukázkovými tabulkami) má anglická Wikipedie. Názvy jsou stejné jako v Power Query, jen anglicky:
Stejné typy spojení najdete i v SQL a v Power BI. Kdo je pochopí v Power Query, rozumí jim všude. V samotném Excelu dělá levé vnější spojení „po jednom řádku“ funkce XLOOKUP nebo SVYHLEDAT; kdo se s ní chce sžít, začne u článku Jak se naučit funkce Excelu.
Slučování dotazů a všechno kolem něj probíráme na kurzech Excel – základy Power Query a PowerQuery – do Excelu bez nervů.
Časté otázky
Které spojení je v Power Query výchozí?
Levé vnější spojení. Zachová všechny řádky prvního dotazu a z druhého přidá jen to, co se spárovalo.
Jak v Power Query najdu řádky, které se nespárovaly?
Použijte Levé anti spojení. Vrátí přesně ty řádky prvního dotazu, ke kterým v druhém dotazu nic nesedí – typicky překlepy v kódech nebo chybějící položky v číselníku.
Proč mi po sloučení přibyly řádky?
Klíč není v druhém dotazu jedinečný. Když jedné hodnotě odpovídají dva řádky, Power Query vrátí obě kombinace. Před spojením proto druhý dotaz zkontrolujte na duplicity.