Sdílet prostřednictvím


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í

Příklad levého anti joinu

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 .

    Snímek obrazovky s tabulkou prodeje obsahující sloupce Date, CountryID a Units (Id země) a CountryID nastavenou na 1 v řádcích 1 a 2, 3 v řádku 3 a 2 v řádku 4

  • 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.

    Snímek obrazovky s tabulkou zemí s ID nastaveným na 3 v řádku 1 a 4 v řádku 2 a země nastavenou na Panama v řádku 1 a Španělsko na řádku 2

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.

Konečná tabulka levého anti joinu.

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:

  1. Vyberte dotaz Sales (Prodej) a pak vyberte Merge queries (Sloučit dotazy).
  2. V dialogovém okně Sloučit v části Pravá tabulka pro sloučení vyberte Země.
  3. V tabulce Sales (Prodej) vyberte sloupec CountryID (CountryID).
  4. V tabulce Země vyberte sloupec ID.
  5. V části Druh spojení vyberte levý anti.
  6. Vyberte OK.

Snímek obrazovky s dialogovým oknem Sloučit zobrazující výsledky předchozího předchozího postupu anti join zleva

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 .

Snímek obrazovky s dialogovým oknem Rozbalit s vybraným sloupcem Země

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.

Konečná tabulka levého anti joinu

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.