Volledige outer join

Een van de join-typen die beschikbaar zijn in het dialoogvenster Samenvoegen in Power Query is een full outer join, waarmee alle rijen van zowel de linker- als de rechtertabellen worden binnengelaten. Meer informatie: Overzicht van samenvoegbewerkingen

Voorbeeld van outer join volledige lijst.

Afbeelding van een tabel aan de linkerkant met de kolommen Date, CountryID en Units. De kolom Met nadruk op CountryID bevat waarden van 1 in rijen 1 en 2, 3 in rij 3 en 2 in rij 4. Een tabel aan de rechterkant bevat de kolommen ID en Land. De kolom met de benadrukte id bevat waarden van 1 in rij 1 (denoting USA), 2 in rij 2 (Canada), 3 in rij 3 (denotingIngenIngen) en 4 (denoting Spanje) in rij 4. Een tabel onder de eerste twee tabellen bevat de kolommen Date, CountryID, Units en Country. Alle rijen zijn in numerieke volgorde opnieuw rangschikt op basis van de countryID-waarde. Het land dat is gekoppeld aan het CountryID-nummer wordt weergegeven in de kolom Country. Omdat de land-id voor Spanje niet in de linkertabel staat, wordt er een nieuwe rij toegevoegd en worden de waarden voor datum, land-id en eenheden voor deze rij ingesteld op null.

In dit artikel worden voorbeeldgegevens gebruikt om te laten zien hoe u een samenvoegbewerking kunt uitvoeren met de full outer join. De voorbeeldbrontabellen voor dit voorbeeld zijn:

  • Verkoop: deze tabel bevat de velden Date, CountryID en Units. CountryID is een geheel getal dat de unieke id uit de tabel Landen vertegenwoordigt.

    De tabel Sales bevat de kolommen Date, CountryID en Units, met CountryID ingesteld op 1 in de rijen 1 en 2, 3 in rij 3 en 2 in rij 4.

  • Landen: dit is een referentietabel met de velden id en Country. Het veld id vertegenwoordigt de unieke id voor elke record.

    De tabel Landen met de kolommen id en Country, met id ingesteld op 1 in rij 1, 2 in rij 2, 3 in rij 3 en 4 in rij 4.

In dit voorbeeld voegt u beide tabellen samen, met de tabel Sales als de linkertabel en de tabel Landen als de rechtertabel. De join wordt gemaakt tussen de volgende kolommen.

Veld uit de tabel Sales Veld uit de tabel Landen
CountryID id

Het doel is om een tabel als de volgende te maken, waarbij de naam van het land wordt weergegeven als een nieuwe kolom Land in de tabel Verkoop. Vanwege de manier waarop full outer join werkt, worden alle rijen van de tabellen links en rechts binnengebracht, ongeacht of ze alleen in een van de tabellen worden weergegeven.

Laatste tabel voor full outer join-bewerking.

Volledige outer join tabel met Datum, een CountryID en Eenheden afgeleid van de tabel Verkoop en een kolom Land afgeleid van de tabel Landen. Er is een vijfde rij toegevoegd om gegevens uit Spanje te bevatten, maar die rij bevat null in de kolommen Date, CountryID en Units, omdat deze waarden niet bestaan voor Spanje in de tabel Sales.

Een full outer uitvoeren

  1. Selecteer de query Verkoop en selecteer vervolgens Query's samenvoegen.
  2. Selecteer in het dialoogvenster Samenvoegen onder Rechtertabel voor samenvoegen de optie Landen.
  3. Selecteer in de tabel Sales de kolom CountryID.
  4. Selecteer in de tabel Landen de kolom id.
  5. Selecteer in de sectie Soort join de optie Volledig buitenste.
  6. Selecteer OK

Dialoogvenster Samenvoegen met de resultaten van het volgen van de vorige full outer join-procedure.

Tip

Bekijk het bericht onder aan het dialoogvenster met de tekst 'De selectie komt overeen met 4 van 4 rijen uit de eerste tabel en 3 van 4 rijen uit de tweede tabel'. Dit bericht is van cruciaal belang voor het begrijpen van het resultaat dat u krijgt van deze bewerking.

In de tabel Landen hebt u het Land Spanje met id 4, maar er zijn geen records voor CountryID 4 in de tabel Sales. Daarom hebben slechts drie van de vier rijen in de rechtertabel een overeenkomst gevonden. Alle rijen uit de rechtertabel die geen overeenkomende rijen uit de linkertabel hadden, worden gegroepeerd en weergegeven in een nieuwe rij in de uitvoertabel zonder waarden voor de velden uit de linkertabel.

Er zijn geen overeenkomende rijen voor Spanje in de linkertabel voor full outer join, dus de waarden voor Date CountryID en Units voor Spanje zijn ingesteld op null.

Vouw in de zojuist gemaakte kolom Landen na de samenvoegbewerking het veld Land uit. Schakel het selectievakje Oorspronkelijke kolomnaam als voorvoegsel gebruiken niet in.

Vouw tabelkolom uit voor Land.

Nadat u deze bewerking hebt uitgevoerd, maakt u een tabel die lijkt op de volgende afbeelding.

Volledige outer join tabel.

Volledige outer join tabel met Datum, een CountryID en Eenheden afgeleid van de tabel Verkoop en een kolom Land afgeleid van de tabel Landen. Er is een vijfde rij toegevoegd om gegevens uit Spanje te bevatten, maar die rij bevat null in de kolommen Date, CountryID en Units, omdat deze waarden niet voor Spanje in de tabel Sales bestonden.