Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 najdete v tématu 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.
Návod
Podívejte se blíže na zprávu v dolní části dialogového okna, která přečte "Výběr vybere 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.