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.
Ve zkratce
- Power Query nabízí v dialogu Sloučit dotazy šest typů spojení: Levé vnější, Pravé vnější, Úplné vnější, Vnitřní, Levé anti a Pravé anti.
- Výchozí a v praxi nejčastější je Levé vnější spojení, které vrátí všechny řádky prvního dotazu a k nim odpovídající řádky z druhého.
- Levé anti spojení vrátí jen řádky prvního dotazu bez protějšku v druhém a je nejrychlejší kontrolou kvality dat v Power Query.
Š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.
Proč se mi řádky při sloučení nespárují?
Klíč, podle kterého se řádky párují, musí být na obou stranách čistý: bez mezer navíc a bez rozdílů v diakritice. Jinak Power Query shodu nenajde.