Zdieľať cez


Úplné vonkajšie spojenie

Jedným z druhov spojenia, ktoré sú k dispozícii v dialógovom okne Zlúčiť v doplnku Power Query, je úplné vonkajšie spojenie, ktoré prináša všetky riadky z ľavej aj pravej tabuľky. Ďalšie informácie: Prehľad operácií zlúčenia

Príklad úplného vonkajšieho spojenia.

Obrázok zobrazuje tabuľku na ľavej strane so stĺpcami Date (Dátum), CountryID (ID Krajiny) a Units (Jednotky). Zvýraznený stĺpec CountryID obsahuje hodnoty 1 v riadkoch 1 a 2, 3 v riadku 3 a 2 v riadku 4. Tabuľka na pravej strane obsahuje stĺpce ID a Country. Zvýraznený stĺpec ID obsahuje hodnoty 1 v riadku 1 (označujúce USA), 2 v riadku 2 (označujúci Kanadu), 3 v riadku 3 (označujúce Panama) a 4 (označujúce Španielsko) v riadku 4. Tabuľka pod prvými dvoma tabuľkami obsahuje stĺpce Date (Dátum), CountryID (ID Krajiny), Units (Jednotky) a Country (Krajina). Všetky riadky boli preskupené v číselnom poradí podľa hodnoty CountryID. Krajina priradená k číslu CountryID sa zobrazí v stĺpci Country (Krajina). Keďže ID krajiny pre Španielsko nebolo obsiahnuté v ľavej tabuľke, pridá sa nový riadok a dátum, ID krajiny a hodnoty jednotiek pre tento riadok sa nastavia na hodnotu null.

Tento článok používa vzorové údaje na zobrazenie toho, ako vykonať operáciu zlúčenia s úplným vonkajším spojením. Vzorové zdrojové tabuľky pre tento príklad sú:

  • Predaj: táto tabuľka obsahuje polia Date (Dátum), CountryID (ID Krajiny) a Units (Jednotky). CountryID je celá číselná hodnota, ktorá predstavuje jedinečný identifikátor z tabuľky Krajiny .

    Tabuľka Predaj obsahuje stĺpce Date (Dátum), CountryID (ID Krajiny) a Units (Jednotky), pričom hodnota CountryID je v riadkoch 1 a 2, 3 v riadku 3 a na 2 v riadku 4.

  • Krajiny: toto je referenčná tabuľka s ID polí a krajinou. Pole ID predstavuje jedinečný identifikátor pre každý záznam.

    Tabuľka Krajiny obsahujúca stĺpce ID a Country, pričom ID je nastavené na 1 v riadku 1, 2 v riadku 2, 3 v riadku 3 a 4 v riadku 4.

V tomto príklade zlúčite obe tabuľky s tabuľkou Predaj ako ľavou tabuľkou a tabuľkou Krajiny ako pravou. Spojenie sa vytvorí medzi nasledujúcimi stĺpcami.

Pole z tabuľky Predaj Pole z tabuľky Krajiny
CountryID id

Cieľom je vytvoriť napríklad tabuľku, v ktorej sa názov krajiny zobrazí ako nový stĺpec Country (Krajina ) v tabuľke Sales (Predaj ). Vzhľadom na to, ako funguje úplné vonkajšie spojenie, nastúpia všetky riadky z ľavej aj pravej tabuľky bez ohľadu na to, či sa zobrazujú len v jednej z tabuliek.

Konečná tabuľka pre úplnú operáciu vonkajšieho spojenia.

Úplná finálna tabuľka spojenia s dátumom, ID Krajiny a Jednotkami odvodenými z tabuľky Predaj a stĺpcom Krajina odvodeným z tabuľky Krajiny. Pridal sa piaty riadok, ktorý by obsahoval údaje zo Španielska, ale tento riadok obsahuje hodnotu null v stĺpcoch Date (Dátum), CountryID (ID Krajiny) a Units (Jednotky), keďže tieto hodnoty v tabuľke Predaj neexistovali pre Španielsko.

Vykonanie úplného vonkajšieho spojenia

  1. Vyberte dotaz Sales (Predaj) a potom vyberte položku Zlúčiť dotazy.
  2. V dialógovom okne Zlúčenie v časti Pravá tabuľka na zlúčenie vyberte položku Krajiny.
  3. V tabuľke Sales (Predaj ) vyberte stĺpec CountryID (ID Krajiny).
  4. V tabuľke Krajiny vyberte stĺpec ID .
  5. V časti Druh Spojenia vyberte položku Úplný vonkajší.
  6. Vyberte položku OK

Dialógové okno Zlúčiť zobrazujúce výsledky nasledujúceho predchádzajúceho postupu úplného vonkajšieho spojenia.

Poznámka

Môžete zlúčiť viac ako jeden stĺpec výberom a podržaním klávesu Ctrl a následným výberom stĺpcov.

Prepitné

Pozrite sa bližšie na správu v dolnej časti dialógového okna, ktorá znie: "Výber zodpovedá 4 zo 4 riadkov z prvej tabuľky a 3 zo 4 riadkov z druhej tabuľky." Toto hlásenie je rozhodujúce, ak chcete porozumieť výsledku tejto operácie.

V tabuľke Krajiny, máte Krajina Španielsko s ID 4, ale v tabuľke Predaj nie sú žiadne záznamy pre CountryID 4. Preto sa zhoda našla len v troch zo štyroch riadkov pravej tabuľky. Všetky riadky z pravej tabuľky, ktoré nemali zhodné riadky z ľavej tabuľky, sa zoskupia a zobrazia v novom riadku vo výstupnej tabuľke bez hodnôt pre polia z ľavej tabuľky.

Žiadne zhodné riadky pre Španielsko v ľavej tabuľke pre úplné vonkajšie spojenie, takže hodnoty Date CountryID a Units pre Španielsko sú nastavené na hodnotu null.

V novovytvorenom stĺpci Krajiny po operácii zlúčenia rozbaľte pole Country (Krajina ). Začiarknite políčko Použiť ako predponu pôvodný názov stĺpca.

Rozbaľte stĺpec tabuľky pre krajinu.

Po vykonaní tejto operácie vytvoríte tabuľku, ktorá vyzerá ako na nasledujúcom obrázku.

Úplná finálna tabuľka vonkajšieho spojenia.

Kompletná finálna tabuľka vonkajšieho spojenia obsahujúca Dátum, ID Krajiny a Jednotky odvodené z tabuľky Predaj a stĺpec Krajina odvodený z tabuľky Krajiny. Pridal sa piaty riadok, ktorý obsahuje údaje zo Španielska, ale tento riadok obsahuje hodnotu null v stĺpcoch Date, CountryID a Units, pretože tieto hodnoty neexistovali pre Španielsko v tabuľke Predaj.