Venstre antijoinforbindelse
En af de joinforbindelser, der er tilgængelige i dialogboksen Flet i Power Query, er en venstre antijoinforbindelse, som kun indeholder rækker fra den venstre tabel, der ikke har tilsvarende rækker fra højre tabel. Flere oplysninger: oversigt over flettehandlinger
Diagram, der viser den venstre tabel med kolonnerne Date, CountryID og Units. Den fremhævede kolonne CountryID indeholder værdier på 1 i række 1 og 2, 3 i række 3 og 2 i række 4. Den højre tabel indeholder kolonnerne ID og Country. Den fremhævede id-kolonne indeholder værdier på 3 i række 1 (der angiver Panama) og 4 i række 2 (der angiver Spanien). En tabel under de første to tabeller indeholder kolonnerne Date, CountryID, Units og Country. Tabellen har tre rækker, hvor to rækker indeholder dataene for CountryID 1 og én række for CountryID 2. Da ingen af de resterende CountryID'er svarer til nogen af lande/områder i den højre tabel, indeholder rækkerne i kolonnen Country i den flettede tabel alle null.
I denne artikel bruges eksempeldata til at vise, hvordan du udfører en flettehandling med den venstre antijoinforbindelse. Eksempelkildetabellerne for dette eksempel er:
Sales: Denne tabel indeholder felterne Date, CountryIDog Units. CountryID- er en heltalsværdi, der repræsenterer det entydige id fra tabellen Lande.
Lande: Denne tabel er en referencetabel med felterne id'et og Country. Feltet id repræsenterer det entydige id for hver post.
I dette eksempel fletter du begge tabeller med tabellen Sales som den venstre tabel, og tabellen Countries som den højre. Joinforbindelsen oprettes mellem følgende kolonner.
Felt fra tabellen Sales | Felt fra tabellen Lande |
---|---|
Land-id | ID |
Målet er at oprette en tabel som følgende, hvor det kun er rækkerne fra den venstre tabel, der ikke stemmer overens med nogen fra højre tabel, der bevares.
Skærmbillede af den venstre antijoinsluttabel med kolonneoverskrifterne Date, CountryID, Units og Country og tre rækker med data, hvor værdierne for kolonnen Country alle er null.
Sådan foretager du en venstre antijoinforbindelse:
- Vælg forespørgslen Sales, og vælg derefter Flet forespørgsler.
- I dialogboksen flet under højre tabel til fletningskal du vælge Lande.
- I tabellen Sales skal du vælge kolonnen CountryID.
- I tabellen lande
skal du vælge kolonnen id . - I afsnittet Joinforbind type skal du vælge Venstre anti-.
- Vælg OK.
Drikkepenge
Se nærmere på meddelelsen nederst i dialogboksen med teksten "Markeringen vælger 3 af 4 rækker fra den første tabel". Denne meddelelse er afgørende for at forstå det resultat, du får fra denne handling.
I tabellen Sales har du to forekomster af en CountryID af 1 og én forekomst af en CountryID af 2, men ingen af dem findes i tabellen Lande. Derfor fandt matchet tre af fire rækker i venstre (første) tabel.
I tabellen lande har du Country Panama med et id på 3, så posten ikke overføres til tabellen Sales, fordi tallene stemmer overens. Derudover har du et Country Spain med et id på 4, men der er ingen poster for CountryID 4 i tabellen Sales. Derfor føres ingen af de to rækker fra højre (anden) tabel ind i tabellen Sales.
Udvid feltet
Når du har udført denne handling, har du oprettet en tabel, der ligner følgende billede. Det nyligt udvidede Feltet Land har ingen værdier, fordi den venstre antijoinforbindelse ikke henter nogen værdier fra højre tabel – det bevarer kun rækker fra venstre tabel.
Skærmbillede af den endelige tabel med kolonneoverskrifterne Date, CountryID, Units og Country og tre rækker med data. Værdierne for kolonnen Country er alle null.