Levé anti join
Jedním z druhů spojení dostupných v dialogovém okně Sloučit v Power Query je levé anti spojení, které přináší pouze řádky z levé tabulky, které nemají žádné odpovídající řádky z pravé tabulky. Další informace: Přehled operací sloučení
Diagram znázorňuje levou tabulku se sloupci Date, CountryID a Units (ID země) a Units (Jednotky). Zvýrazněný sloupec CountryID obsahuje hodnoty 1 v řádcích 1 a 2, 3 v řádku 3 a 2 v řádku 4. Pravá tabulka obsahuje sloupce ID a Země. Zvýrazněný sloupec ID obsahuje hodnoty 3 v řádku 1 (označující Panama) a 4 na řádku 2 (označující Španělsko). Tabulka pod prvními dvěma tabulkami obsahuje sloupce Datum, CountryID, Units a Country. Tabulka obsahuje tři řádky se dvěma řádky obsahujícími data pro CountryID 1 a jeden řádek pro CountryID 2. Vzhledem k tomu, že žádná ze zbývajících identifikátorů CountryID neodpovídá žádné zemi nebo oblasti v pravé tabulce, řádky ve sloupci Země ve sloučené tabulce obsahují hodnotu null.
Tento článek používá ukázková data k zobrazení, jak provést operaci sloučení s levým anti join. Ukázkové zdrojové tabulky pro tento příklad jsou:
Sales: Tato tabulka obsahuje pole Datum, CountryID a Units. CountryID je celá číselná hodnota, která představuje jedinečný identifikátor z tabulky Countries .
Země: Tato tabulka je referenční tabulka s ID polí a Zemí. Pole ID představuje jedinečný identifikátor každého záznamu.
V tomto příkladu sloučíte obě tabulky s tabulkou Sales jako levou a tabulkou Countries (Země ) jako pravou. Spojení se vytvoří mezi následujícími sloupci.
Pole z tabulky Sales | Pole z tabulky Země |
---|---|
CountryID | ID |
Cílem je vytvořit tabulku jako v následujícím příkladu, kde jsou zachovány pouze řádky z levé tabulky, které neodpovídají žádné z pravé tabulky.
Snímek obrazovky s závěrečnou tabulkou levého anti joinu s záhlavími sloupců Date (Datum), CountryID (CountryID), Units (Jednotky) a Country (Země) a třemi řádky dat, ze kterých jsou hodnoty sloupce Country (Země) null (Země).
Postup levého anti joinu:
- Vyberte dotaz Sales (Prodej) a pak vyberte Merge queries (Sloučit dotazy).
- V dialogovém okně Sloučit v části Pravá tabulka pro sloučení vyberte Země.
- V tabulce Sales (Prodej) vyberte sloupec CountryID (CountryID).
- V tabulce Země vyberte sloupec ID.
- V části Druh spojení vyberte levý anti.
- Vyberte OK.
Tip
Podívejte se blíže na zprávu v dolní části dialogového okna se zprávou "Výběr vybere ze 3 ze 4 řádků z první tabulky". Tato zpráva je zásadní pro pochopení výsledku, který z této operace získáte.
V tabulce Sales (Prodej) máte dvě instance CountryID (CountryID) 1 a jednu instanci CountryID of 2 (CountryID of 2), ale v tabulce Countries (Země) se nenašla žádná z nich. Proto byla nalezena shoda se třemi čtyřmi řádky v levé (první) tabulce.
V tabulce Countries (Země) máte Zemi Panama s ID 3, aby se záznam nepřevedl do tabulky Sales,protože se čísla shodují. Kromě toho máte Zemi Španělsko s ID 4, ale v tabulce Prodej nejsou žádné záznamy pro CountryID 4. Proto se do tabulky Sales (Sales) nepřinesou ani dva řádky z pravé (druhé).
Z nově vytvořeného sloupce Země rozbalte pole Země . Nezaškrtávejte políčko Použít původní název sloupce jako předponu .
Po provedení této operace jste vytvořili tabulku, která vypadá jako na následujícím obrázku. Nově rozbalené pole Země neobsahuje žádné hodnoty, protože levé anti join nepřináší žádné hodnoty z pravé tabulky – zachová jenom řádky z levé tabulky.
Snímek obrazovky konečné tabulky se záhlavími sloupců Date, CountryID, Units a Country a třemi řádky dat Hodnoty pro sloupec Country mají hodnotu null.