Ga naar hoofdinhoud Skip to complementary content

Join

Het prefix join koppelt de geladen tabel aan een bestaande benoemde tabel of de laatste eerder gemaakte gegevenstabel.

Het effect van het samenvoegen van gegevens is dat de doeltabel wordt uitgebreid met een extra set velden of attributen, namelijk die welke nog niet in de doeltabel aanwezig zijn. Alle gemeenschappelijke veldnamen tussen de brongegevensset en de doeltabel worden gebruikt om uit te zoeken hoe de nieuwe binnenkomende records moeten worden gekoppeld. Dit wordt gewoonlijk een 'natuurlijke join' genoemd. Een Qlik-samenvoegbewerking kan ertoe leiden dat de resulterende doeltabel meer of minder records heeft dan waarmee hij begon, afhankelijk van de uniekheid van de join-koppeling en het type join dat wordt gebruikt.

Er zijn vier soorten joins:

Left joins zijn het meest voorkomende join-type. Als u bijvoorbeeld een transactiegegevensset hebt en deze wilt combineren met een referentiegegevensset, gebruikt u doorgaans een Left Join. U zou eerst de transactietabel laden en vervolgens de referentiegegevensset laden terwijl u deze via een Left Join-voorvoegsel aan de reeds geladen transactietabel toevoegt. Een Left Join zou alle transacties ongewijzigd laten en de aanvullende referentiegegevensvelden toevoegen waar een overeenkomst wordt gevonden.

Als u twee datasets hebt waarbij u alleen om resultaten geeft als er een overeenkomende koppeling is, overweeg dan om een Inner Join te gebruiken. Hierdoor worden alle records verwijderd uit zowel de geladen brongegevens als de doeltabel als er geen overeenkomst wordt gevonden. Als gevolg hiervan kan uw doeltabel minder records bevatten dan voordat de samenvoegbewerking plaatsvond.

Als u zowel de doelrecords als alle inkomende records moet bewaren, gebruikt u een Outer Join. Als er geen overeenkomst wordt gevonden, wordt elke set records nog steeds bewaard, terwijl de velden aan de andere kant van de join niet ingevuld blijven (null). Outer joins hebben over het algemeen weinig praktische toepassingen.

Dit type join houdt alle records die op het punt staan te worden geladen, terwijl de records in de tabel waarop de join is gericht, worden beperkt tot alleen die records waarbij er een koppelingsovereenkomst is in de inkomende records. Dit is een niche-jointype dat soms wordt gebruikt om een reeds vooraf geladen tabel met records in te korten tot een vereiste subset.

Als het sleutelwoord type wordt weggelaten, is Inner Join het standaard join-type.

Voorbeelden van resultaatsets van verschillende typen samenvoegbewerkingen

Voorbeeldresultatensets van verschillende typen samenvoegbewerkingen, met een voor-en-na-weergave van de gegevenstabellen na elke bewerking.
InformatieAls er geen gemeenschappelijke veldnamen zijn tussen de bron en het doel van een samenvoegbewerking, resulteert de join in een cartesiaans product van alle rijen - dit wordt een 'cross join' genoemd.

Voorbeeld resultaatset van een 'cross join'-bewerking

Voor-en-na vergelijking van invoergegevens met uitvoer na een cross-join-bewerking (waarbij een join-bewerking van elk type kan betrokken zijn).

Syntaxis:  

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

Argumenten
Argument Beschrijving
tablename De benoemde tabel die moet worden vergeleken met de geladen tabel.
loadstatementof selectstatement De LOAD of SELECT-opdracht voor de geladen tabel.

Deze onderwerpen kunnen u helpen bij het werken met deze functie:

Gerelateerde onderwerpen
Onderwerp Beschrijving
Tabellen samenvoegen met Join en Keep In dit onderwerp vindt u meer uitleg over de concepten 'samenvoegen' en 'bewaren' van gegevenssets.
Keep Het laadvoorvoegsel Keep is vergelijkbaar met het voorvoegsel Join, maar combineert de bron- en doelgegevenssets niet. In plaats daarvan trimt het elke gegevensset op basis van het type bewerking dat is aangenomen (binnen, buiten, links of rechts).

Voorbeeld 1 - Left join: Een doeltabel verrijken met een referentiegegevensset

Voorbeeld 2 – Inner join: Alleen overeenkomende records combineren

Voorbeeld 3 – Outer join: Overlappende recordsets combineren

Voorbeeld 4 – Right join: Een doeltabel inkorten door een secundaire mastergegevensset