Højre anti-joinforbindelse
En af de joinforbindelser, der er tilgængelige i dialogboksen Flet i Power Query, er en højre antijoinforbindelse, som kun indeholder rækker fra den højre tabel, der ikke har tilsvarende rækker fra venstre 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 én række, hvor Dato, Land-id og Enheder er angivet til null, og Country er angivet til Spanien.
I denne artikel bruges eksempeldata til at vise, hvordan du udfører en flettehandling med den rigtige 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.
Countries: Denne tabel er en referencetabel med felterne id 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 følgende tabel, hvor det kun er de rækker fra højre tabel, der ikke stemmer overens med nogen fra venstre tabel, der bevares. Som en almindelig use case kan du finde alle de rækker, der er tilgængelige i den højre tabel, men som ikke findes i venstre tabel.
Højre anti joinforbindelsestabel med kolonneoverskrifterne Date, CountryID, Units og Country, der indeholder én række med null i alle kolonner undtagen Country, som indeholder Spanien.
Sådan gør du en højre anti-joinforbindelse:
- 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 skal du vælge Højre anti-.
- Vælg OK.
Drikkepenge
Se nærmere på meddelelsen nederst i dialogboksen med teksten "Markeringen udelukker 1 af 2 rækker fra den anden tabel". Denne meddelelse er afgørende for at forstå det resultat, du får fra denne handling.
I tabellen Lande har du Country Spanien med et id på 4, men der er ingen poster for CountryID 4 i tabellen Sales. Derfor fandt kun én af to rækker fra højre (anden) tabel et match. På grund af den måde, den højre antijoinforbindelse fungerer på, kan du aldrig se nogen rækker fra venstre (første) tabel i outputtet af denne handling.
Udvid feltet
Når du har udført denne handling, skal du oprette en tabel, der ligner følgende billede. Det nyligt udvidede felt land land har ingen værdier. Det skyldes, at den højre antijoinforbindelse ikke henter nogen værdier fra den venstre tabel – den bevarer kun rækker fra den højre tabel.
Skærmbillede af den endelige tabel med kolonneoverskrifterne Dato, Land-id, Enheder og Land, der indeholder én række med null i alle kolonner undtagen Land, som indeholder Spanien.