Del via


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

Eksempel på højre antijoinforbindelse.

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.

    Skærmbillede af salgstabellen, der indeholder kolonnerne Date, CountryID og Units, hvor CountryID er angivet til 1 i række 1 og 2, 3 i række 3 og 2 i række 4.

  • Countries: Denne tabel er en referencetabel med felterne id og Country. Feltet id repræsenterer det entydige id for hver post.

    Skærmbillede af landetabellen med id'et angivet til 3 i række 1 og 4 i række 2, og Country er angivet til Panama i række 1 og Spanien i række 2.

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.

tabel, der er oprettet ud fra højre antijoinforbindelse.

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:

  1. Vælg forespørgslen Sales, og vælg derefter Flet forespørgsler.
  2. I dialogboksen flet under højre tabel til fletningskal du vælge Lande.
  3. I tabellen Sales skal du vælge kolonnen CountryID.
  4. I tabellen lande skal du vælge kolonnen id.
  5. I afsnittet Joinforbind skal du vælge Højre anti-.
  6. Vælg OK.

dialogboksen Flet, der viser resultaterne af at følge den forrige højre antijoinprocedure.

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 Land i kolonnen Lande, der netop er oprettet Lande. Markér ikke afkrydsningsfeltet Brug det oprindelige kolonnenavn som præfiks.

Skærmbillede af den udvidede kolonne Lande, hvor feltet Land kun er markeret.

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.

Højre anti joinforbindelse endelig 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.