Delen via


Volledige outer join

Een van de jointypen die beschikbaar zijn in het dialoogvenster Samenvoegen in Power Query is een volledige outer join, die alle rijen uit zowel de linker- als rechtertabellen bevat. Meer informatie: Overzicht van samenvoegbewerkingen

Voorbeeld van full outer join.

Schermopname van een linkertabel met de kolommen Date, CountryID en Units. De kolom CountryID met nadruk bevat waarden van 1 in rij 1 en 2, 3 in rij 3 en 2 in rij 4. Een rechtertabel bevat de kolommen Id en Land. De kolom met nadruk-id's bevat waarden van 1 in rij 1 (die de VS aangeeft), 2 in rij 2 (canada aangeeft), 3 in rij 3 (aantekenend Panama) en 4 (spanje aanduidt) in rij 4. Een tabel onder de eerste twee tabellen bevat de kolommen Date, CountryID, Units en Country. Alle rijen worden opnieuw gerangschikt in numerieke volgorde volgens de countryID-waarde. Het land dat is gekoppeld aan het CountryID-nummer wordt weergegeven in de kolom Land. Omdat de land-id voor Spanje niet is opgenomen in de linkertabel, 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 volledige outer join. De voorbeeldbrontabellen voor dit voorbeeld zijn:

  • Verkoop: Deze tabel bevat de velden Datum, Land-id en Eenheden. CountryID is een geheel getal dat de unieke id van de tabel Landen vertegenwoordigt.

    Schermopname van de tabel Verkoop met de kolommen Date, CountryID en Units, waarbij CountryID is ingesteld op 1 in rij 1 en 2, 3 in rij 3 en 2 in rij 4.

  • Landen: Deze tabel is een referentietabel met de velden-id en Land. Het id-veld vertegenwoordigt de unieke id voor elke record.

    Schermopname van de tabel Landen met de kolommen Id en Land, 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 zoals hieronder te maken, waarbij de naam van het land wordt weergegeven als een nieuwe kolom Land in de tabel Verkoop . Omdat de volledige outer join werkt, worden alle rijen uit zowel de linker- als rechtertabellen binnengebracht, ongeacht of ze alleen in een van de tabellen worden weergegeven.

Uiteindelijke tabel voor de volledige outer join-bewerking.

Schermopname van de uiteindelijke full outer join-tabel met Date, a CountryID en Units afgeleid van de tabel Sales en een kolom Country die is 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 bestonden voor Spanje in de tabel Verkoop.

Een volledige outer join uitvoeren:

  1. Selecteer de verkoopquery en selecteer vervolgens Samenvoegquery's.
  2. Selecteer In het dialoogvenster Samenvoegen, onder De tabel Rechts voor samenvoegen, Landen.
  3. Selecteer in de tabel Verkoop de kolom CountryID .
  4. Selecteer de kolom Id in de tabel Landen.
  5. Selecteer In de sectie Join kind de optie Volledig buitenste.
  6. Selecteer OK.

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

Notitie

U kunt samenvoegen op meer dan één kolom door Ctrl te selecteren en vervolgens de kolommen te selecteren.

Tip

Bekijk het bericht onder aan het dialoogvenster met de tekst 'De selectie komt overeen met 4 van 5 rijen uit beide tabellen'. 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 Verkoop . Daarom hebben slechts drie van de vier rijen uit de rechtertabel een overeenkomst gevonden. Alle rijen uit de rechtertabel die geen overeenkomende rijen uit de linkertabel hebben, worden gegroepeerd en weergegeven in een nieuwe rij in de uitvoertabel zonder waarden voor de velden uit de linkertabel.

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

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

Schermopname van de tabelopties uitvouwen met de kolom voor Land geselecteerd.

Nadat u deze bewerking hebt uitgevoerd, maakt u een tabel die eruitziet als de volgende afbeelding.

Volledige outer join final table.

Schermopname van de volledige outer join-uiteindelijke tabel met Datum, een CountryID en Eenheden die zijn afgeleid van de tabel Verkoop en een kolom Land die is 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 bestonden voor Spanje in de tabel Verkoop.