# 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 het uitbreiden van de doel-gegevenstabel met een extra set velden of kenmerken, namelijk die welke nog niet aanwezig zijn in de doel-gegevenstabel. Eventuele gemeenschappelijke veldnamen tussen de bron-gegevensverzameling en de doel-gegevenstabel worden gebruikt om te bepalen hoe de nieuwe inkomende records moeten worden gekoppeld. Dit wordt gewoonlijk een “natural join” genoemd. Een Qlik join-bewerking kan ertoe leiden dat de resulterende doel-gegevenstabel meer of minder records bevat dan waarmee werd begonnen, afhankelijk van de uniciteit van de join-koppeling en het type join dat wordt gebruikt.

[Join script prefix](https://play.vidyard.com/7xrdzssVH99Jsr8gmPunCC)

## Typen joins

Er zijn vier typen joins:

* Left join

* Inner join

* Outer join

* Right join

Voorbeeldresultaten van verschillende typen join-bewerkingen

Voorbeeldresultaten van verschillende typen join-bewerkingen

Voorbeeldresultaten van verschillende typen join-bewerkingen ![Voorbeeldresultaten van verschillende typen join-bewerkingen, met een weergave van de gegevenstabellen voor en na elke bewerking. De invoer bestaat uit een doel-gegevenstabel en een inkomende gegevensverzameling. De doel-gegevenstabel heeft twee kolommen met twee rij-items voor de velden 'Trade ID' en 'Asset Class'. De inkomende gegevens hebben twee kolommen met twee rij-items voor de velden 'Trade ID' en 'Exchange'. De Left Join behoudt de initiële doel-gegevenstabel en voegt een derde kolom toe waarbij alles leeg is, behalve de toevoeging van een van de 'Exchange' rij-items. De Inner Join maakt een tabel met één Trade ID-rij en een derde kolom, wederom voor het 'Exchange' rij-item. De Outer Join behoudt de doel-gegevenstabel en voegt een derde kolom toe, samen met een derde rij waaraan de tweede rij van de inkomende gegevensverzameling wordt toegevoegd. De Right Join verwijdert het tweede rij-item van de doel-gegevenstabel en vervangt dit door informatie uit het tweede rij-item van de inkomende gegevensverzameling, waarbij in het proces een derde kolom wordt toegevoegd.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-join-examples-operations.png)

### Left join

Left joins zijn het meest voorkomende type join. Als u bijvoorbeeld een transactie-gegevensverzameling heeft en deze wilt combineren met een referentie-gegevensverzameling, gebruikt u doorgaans een `Left Join`. U laadt eerst de transactietabel en laadt vervolgens de referentie-gegevensverzameling terwijl u deze via een `Left Join`-voorvoegsel aan de reeds geladen transactietabel koppelt. Een `Left Join` behoudt alle transacties zoals ze zijn en voegt de aanvullende referentie-gegevensvelden toe waar een overeenkomst wordt gevonden.

Left join

Left join

Left join ![Diagram dat op hoog niveau de gegevenscombinaties schetst die optreden tijdens een left join.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_left.png)

### Inner join

Wanneer u twee gegevensverzamelingen heeft waarbij u alleen geïnteresseerd bent in resultaten waar een overeenkomende koppeling bestaat, overweeg dan het gebruik van een `Inner Join`. Dit elimineert alle records uit zowel de geladen brongegevens als de doel-gegevenstabel als er geen overeenkomst wordt gevonden. Als gevolg hiervan kan uw doel-gegevenstabel minder records bevatten dan vóór de join-bewerking.

Inner join

Inner join

Inner join ![Diagram dat op hoog niveau de gegevenscombinaties schetst die optreden tijdens een inner join.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_inner.png)

### Outer join (standaard)

Wanneer u zowel de doelrecords als alle inkomende records wilt behouden, gebruikt u een `Outer Join`. Waar geen overeenkomst wordt gevonden, blijft elke set records behouden, terwijl de velden aan de tegenovergestelde kant van de join oningevuld (null) blijven.

Als het type-trefwoord wordt weggelaten, is het standaard join-type een outer join.

Outer join

Outer join

Outer join ![Diagram dat op hoog niveau de gegevenscombinaties schetst die optreden tijdens een outer join.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_outer.png)

### Right join

Dit join-type behoudt alle records die geladen gaan worden, terwijl de records in de tabel die door de join wordt getarget, worden verminderd tot alleen die records waarvoor een koppelingsmatch in de inkomende records bestaat. Dit is een niche join-type dat soms wordt gebruikt als middel om een reeds vooraf geladen tabel met records in te korten tot een vereiste subset.

Right join

Right join

Right join ![Diagram dat op hoog niveau de gegevenscombinaties schetst die optreden tijdens een right join.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_right.png)

### Cross join

InformatieAls er geen veldnamen gemeenschappelijk zijn tussen de bron en het doel van een join-bewerking, resulteert de join in een cartesiaans product van alle rijen – dit wordt een “cross join” genoemd.

Voorbeeldresultaat van een "cross join"-bewerking

Voorbeeldresultaat van een "cross join"-bewerking

Voorbeeldresultaat van een "cross join"-bewerking ![Vergelijking voor en na van invoergegevens met uitvoer na een cross join-bewerking (die een join-bewerking van elk type kan inhouden). De invoer is een doel-gegevenstabel en een inkomende gegevensverzameling. De doel-gegevenstabel bestaat uit drie kolommen, met twee rij-items. De kolommen zijn 'Trade ID', 'Base Currency' en 'Amount'. De inkomende gegevensverzameling heeft twee kolommen ('Trade Currency' en 'Rate') en twee rij-items. De resulterende tabel heeft vijf kolommen, namelijk 'Trade ID', 'Base Currency', 'Amount', 'Target Currency' en 'Rate'. Er zijn vier rij-items die alle gegevens combineren. Elk 'Trade ID'-item heeft twee rijen met verschillende gegevens in de andere velden.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-examples-join-no-common-fields.png)

## Syntaxis en argumenten

[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. |

## Gerelateerde onderwerpen

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

Gerelateerde onderwerpen

| Onderwerp | Beschrijving |
| --- | --- |
| [Tabellen samenvoegen met Join en Keep](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm) | Dit onderwerp biedt verdere uitleg over de concepten van het “samenvoegen” (joining) en “behouden” (keeping) van gegevensverzamelingen. |
| [Keep](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Keep.htm) | Het `Keep` load-voorvoegsel is vergelijkbaar met het `Join`-voorvoegsel, maar het combineert de bron- en doel-gegevensverzamelingen niet. In plaats daarvan trimt het elke gegevensverzameling volgens het type bewerking dat is gekozen (inner, outer, left of right). |

## Load script-voorbeelden - Left join

Een left join behoudt alle records uit uw hoofd- (doel-) tabel en voegt overeenkomende gegevens uit een tweede (bron-) tabel toe. Als er geen overeenkomst in de bron is, verschijnt het record van de hoofdtabel nog steeds, maar met lege velden uit de brontabel.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Left join: basisvoorbeeld

Voeg het voorbeeldscript toe aan uw applicatie en voer het uit. Om het resultaat te zien, voegt u de velden die in de resultatenkolom staan toe aan een werkblad in uw applicatie.

Load script

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Left Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ]; 
```

Voor meer informatie over het gebruik van inline loads, zie [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Resultaten

Resulterende tabel

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |

Dit voorbeeld demonstreert de Left Join-uitvoer waarbij alleen waarden die aanwezig zijn in de eerste (linker) tabel worden samengevoegd.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Left join-voorbeeld: Orders verrijken met klantinformatie

Overzicht

Stel dat u een lijst met orders heeft, maar niet alle orders hebben een overeenkomend klantrecord.

Load script

```
Orders:
Load * inline [
OrderID, CustomerID, Amount
1, 101, 200
2, 102, 150
3, 104, 400
];

Customers:
Left Join (Orders)
Load * inline [
CustomerID, Name
101, Alice
102, Bob
103, Carol
];
```

Resultaten

Als u het voorbeeldvenster in de Data model viewer uitvouwt, ziet u een deel van de volledige resultatenset georganiseerd in een tabel:

Voorbeeld van tabel in de Data model viewer

| OrderID | CustomerID | Amount | Name |
| --- | --- | --- | --- |
| 1 | 101 | 200 | Alice |
| 2 | 102 | 150 | Bob |
| 3 | 104 | 400 | - |

OrderID 1 en 2 hebben overeenkomende klanten. OrderID 3 heeft geen overeenkomende klant, dus Name is leeg.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Left join-voorbeeld: Een doel-gegevenstabel verrijken met een referentie-gegevensverzameling

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wijzigingsrecords vertegenwoordigt, die wordt geladen in een tabel genaamd `Changes`. Deze bevat een Status ID-sleutelveld.

* Een tweede gegevensverzameling die wijzigingsstatussen vertegenwoordigt, die wordt geladen en gecombineerd met de oorspronkelijke wijzigingsrecords door deze te koppelen met een left `Join` load-voorvoegsel.

Deze left join zorgt ervoor dat de wijzigingsrecords intact blijven terwijl statuskenmerken worden toegevoegd waar een overeenkomst in de inkomende statusrecords wordt gevonden op basis van een gemeenschappelijk Status ID.

Load script

```
Changes:
Load * inline [ 
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact 
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10103	1	02/04/2022	29/05/2022	Medium
10185	2	23/06/2022	08/09/2022	None
10323	1	08/11/2022	26/11/2022	High
10326	2	11/11/2022	05/12/2022	None
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
10264	1	10/09/2022	17/10/2022	Medium
10116	1	15/04/2022	24/04/2022	None
10187	2	25/06/2022	24/08/2022	Low
] (delimiter is '\t');

Status:
Left Join (Changes)
Load * inline [
Status ID	Status	Sub Status
1	Open	Not Started
2	Open	Started
3	Closed	Completed
4	Closed	Cancelled
5	Closed	Obsolete			
] (delimiter is '\t');
```

Resultaten

Open de Data model viewer en let op de vorm van het gegevensmodel. Er is slechts één denormaliseerde tabel aanwezig. Het is een combinatie van alle oorspronkelijke wijzigingsrecords, met de overeenkomende statuskenmerken gekoppeld aan elk wijzigingsrecord.

Resulterend intern gegevensmodel

| Changes |
| --- |
| Change ID |
| Status ID |
| Scheduled Start Date |
| Scheduled End Date |
| Business Impact |
| Status |
| Sub Status |

Als u het voorbeeldvenster in de Data model viewer uitvouwt, ziet u een deel van deze volledige resultatenset georganiseerd in een tabel:

Voorbeeld van Changes-tabel in de Data model viewer

| Change ID | Status ID | Scheduled Start Date | Scheduled End Date | Business Impact | Status | Sub Status |
| --- | --- | --- | --- | --- | --- | --- |
| 10030 | 4 | 19/01/2022 | 23/02/2022 | None | Closed | Cancelled |
| 10031 | 3 | 20/01/2022 | 25/03/2022 | Low | Closed | Completed |
| 10015 | 3 | 04/01/2022 | 15/02/2022 | Low | Closed | Completed |
| 10103 | 1 | 02/04/2022 | 29/05/2022 | Medium | Open | Not Started |
| 10116 | 1 | 15/04/2022 | 24/04/2022 | None | Open | Not Started |
| 10134 | 1 | 03/05/2022 | 08/07/2022 | Low | Open | Not Started |
| 10264 | 1 | 10/09/2022 | 17/10/2022 | Medium | Open | Not Started |
| 10040 | 1 | 29/01/2022 | 22/04/2022 | None | Open | Not Started |
| 10323 | 1 | 08/11/2022 | 26/11/2022 | High | Open | Not Started |
| 10187 | 2 | 25/06/2022 | 24/08/2022 | Low | Open | Started |
| 10185 | 2 | 23/06/2022 | 08/09/2022 | None | Open | Started |
| 10220 | 2 | 28/07/2022 | 06/09/2022 | None | Open | Started |
| 10326 | 2 | 11/11/2022 | 05/12/2022 | None | Open | Started |
| 10138 | 2 | 07/05/2022 | 03/08/2022 | None | Open | Started |
| 10334 | 2 | 19/11/2022 | 06/02/2023 | Low | Open | Started |

Omdat de vijfde rij in de Status-tabel (Status ID: '5', Status: 'Closed', Sub Status: 'Obsolete') niet overeenkomt met een van de records in de Changes-tabel, verschijnt de informatie in deze rij niet in de bovenstaande resultatenset.

Keer terug naar de Data load editor. Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie: `Status`.

Voeg deze measure toe:

`=Count([Change ID])`

Nu kunt u het aantal wijzigingen per status inspecteren.

Resultatentabel

| Status | =Count([Change ID]) |
| --- | --- |
| Open | 12 |
| Closed | 3 |

## Load script-voorbeelden - Inner join

Een inner join behoudt alleen records die in beide tabellen bestaan (gebaseerd op overeenkomende veldwaarden).

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Inner join: basisvoorbeeld

Load script

Voeg het voorbeeldscript toe aan uw applicatie en voer het uit. Om het resultaat te zien, voegt u de velden die in de resultatenkolom staan toe aan een werkblad in uw applicatie.

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Inner Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ];
```

Voor meer informatie over het gebruik van inline loads, zie [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Resultaten

Resulterende tabel

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |

Dit voorbeeld demonstreert de Inner Join-uitvoer waarbij alleen waarden die in zowel de eerste (linker) als de tweede (rechter) tabel aanwezig zijn, worden samengevoegd.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Inner join-voorbeeld: Orders reduceren tot alleen verzonden orders

Overzicht

U heeft orders en een lijst met verzonden orders. U wilt alleen de orders die zijn verzonden.

Load script

```
Orders:
Load * inline [
OrderID, Amount
1, 200
2, 150
3, 400
];

Shipped:
Inner Join (Orders)
Load * inline [
OrderID, ShipDate
2, 2022-05-01
3, 2022-05-02
4, 2022-05-03
];
```

Resultaten

Als u het voorbeeldvenster in de Data model viewer uitvouwt, ziet u een deel van de volledige resultatenset georganiseerd in een tabel:

Voorbeeld van tabel in de Data model viewer

| OrderID | Amount | ShipDate |
| --- | --- | --- |
| 2 | 150 | 2022-05-01 |
| 3 | 400 | 2022-05-02 |

Alleen OrderID 2 en 3 verschijnen, omdat ze in beide tabellen bestaan.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Inner join-voorbeeld: Alleen overeenkomende records combineren

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wijzigingsrecords vertegenwoordigt, die wordt geladen in een tabel genaamd Changes.

* Een tweede gegevensverzameling die wijzigingsrecords vertegenwoordigt die afkomstig zijn van het bronsysteem JIRA. Deze wordt geladen en gecombineerd met de oorspronkelijke records door deze te koppelen met een Inner Join load-voorvoegsel.

Deze Inner Join zorgt ervoor dat alleen de vijf wijzigingsrecords die in beide gegevensverzamelingen worden gevonden, worden behouden.

Load script

```
Changes:
Load * inline [
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10103	1	02/04/2022	29/05/2022	Medium
10185	2	23/06/2022	08/09/2022	None
10323	1	08/11/2022	26/11/2022	High
10326	2	11/11/2022	05/12/2022	None
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
10264	1	10/09/2022	17/10/2022	Medium
10116	1	15/04/2022	24/04/2022	None
10187	2	25/06/2022	24/08/2022	Low
] (delimiter is '\t');

JIRA_changes:
Inner Join (Changes)
Load
  [Ticket ID] AS [Change ID],
  [Source System]
inline
[
Ticket ID	Source System
10000	JIRA					
10030	JIRA
10323	JIRA
10134	JIRA
10334	JIRA
10220	JIRA
20000	TFS
] (delimiter is '\t');
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* Source System

* Change ID

* Business Impact

Nu kunt u de vijf resulterende records inspecteren. De resulterende tabel van een Inner Join bevat alleen records met overeenkomende informatie in beide gegevensverzamelingen.

Resultatentabel

| Source System | Change ID | Business Impact |
| --- | --- | --- |
| JIRA | 10030 | None |
| JIRA | 10134 | Low |
| JIRA | 10220 | None |
| JIRA | 10323 | High |
| JIRA | 10334 | Low |

## Load script-voorbeelden - Outer join

Een outer join behoudt alle records uit beide tabellen. Waar geen overeenkomst is, worden velden leeg gelaten.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Outer join: Basisvoorbeeld

Load script

Voeg het voorbeeldscript toe aan uw applicatie en voer het uit. Om het resultaat te zien, voegt u de velden die in de resultatenkolom staan toe aan een werkblad in uw applicatie.

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Outer Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ]; 
```

Voor meer informatie over het gebruik van inline loads, zie [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Resultaten

Resulterende tabel

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |
| 4 | - | yy |

In dit voorbeeld worden de twee tabellen, Table1 en Table2, samengevoegd tot één tabel met het label Table1. In gevallen als deze wordt het outer-voorvoegsel vaak gebruikt om verschillende tabellen samen te voegen tot één tabel om aggregaties uit te voeren over de waarden van een enkele tabel.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Outer join: Een volledige lijst maken van alle klanten en orders

Overzicht

U wilt een volledige lijst van alle klanten en orders, zelfs als sommige klanten geen orders hebben en sommige orders geen klantrecord hebben.

Load script

```
Orders:
Load * inline [
OrderID, CustomerID
1, 101
2, 102
3, 104
];

Customers:
Outer Join (Orders)
Load * inline [
CustomerID, Name
101, Alice
102, Bob
103, Carol
];
```

Resultaten

Als u het voorbeeldvenster in de Data model viewer uitvouwt, ziet u een deel van deze volledige resultatenset georganiseerd in een tabel:

Voorbeeld van tabel in de Data model viewer

| OrderID | CustomerID | Name |
| --- | --- | --- |
| 1 | 101 | Alice |
| 2 | 102 | Bob |
| 3 | 104 | - |
| - | 103 | Carol |

OrderID 3 heeft geen overeenkomende klant (Name leeg).

CustomerID 103 (Carol) heeft geen overeenkomende order (OrderID leeg).

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Outer join: Overlappende recordsets combineren

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wijzigingsrecords vertegenwoordigt, die wordt geladen in een tabel genaamd Changes.

* Een tweede gegevensverzameling die wijzigingsrecords vertegenwoordigt die afkomstig zijn van het bronsysteem JIRA, die wordt geladen en gecombineerd met de oorspronkelijke records door deze te koppelen met een Outer Join load-voorvoegsel.

Dit zorgt ervoor dat alle overlappende wijzigingsrecords uit beide gegevensverzamelingen behouden blijven.

Load script

```
// 8 Change records

Changes:
Load * inline [
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
] (delimiter is '\t');

// 6 Change records

JIRA_changes:
Outer Join (Changes)
Load
  [Ticket ID] AS [Change ID],
  [Source System]
inline
[
Ticket ID	Source System
10030	JIRA
10323	JIRA
10134	JIRA
10334	JIRA
10220	JIRA
10597	JIRA
] (delimiter is '\t');
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* Source System

* Change ID

* Business Impact

Nu kunt u de 10 resulterende records inspecteren.

Resultatentabel

| Source System | Change ID | Business Impact |
| --- | --- | --- |
| JIRA | 10030 | None |
| JIRA | 10134 | Low |
| JIRA | 10220 | None |
| JIRA | 10323 | - |
| JIRA | 10334 | Low |
| JIRA | 10597 | - |
| - | 10015 | Low |
| - | 10031 | Low |
| - | 10040 | None |
| - | 10138 | None |

## Load script-voorbeelden - Right join

Een right join behoudt alle records uit de brontabel en voegt overeenkomende info uit de doeltabel toe. Als de doeltabel geen overeenkomst heeft, zijn velden daaruit leeg.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Right join: basisvoorbeeld

Load script

Voeg het voorbeeldscript toe aan uw applicatie en voer het uit. Om het resultaat te zien, voegt u de velden die in de resultatenkolom staan toe aan een werkblad in uw applicatie.

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Right Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ];
```

Voor meer informatie over het gebruik van inline loads, zie [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Resultaat

Resulterende tabel

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 4 | - | yy |

Dit voorbeeld demonstreert de Right Join-uitvoer waarbij alleen waarden die in de tweede (rechter) tabel aanwezig zijn, worden samengevoegd.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Right join-voorbeeld: alle klanten combineren met overeenkomende orders

Overzicht

Uw brontabel is een lijst met klanten; u wilt alle klanten, plus eventuele overeenkomende orders.

Load script

```
Orders:
Load * inline [
OrderID, CustomerID
1, 101
2, 102
3, 104
];

Customers:
Right Join (Orders)
Load * inline [
CustomerID, Name
101, Alice
102, Bob
103, Carol
];
```

Resultaten

Als u het voorbeeldvenster in de Data model viewer uitvouwt, ziet u een deel van deze volledige resultatenset georganiseerd in een tabel:

Voorbeeld van tabel in de Data model viewer

| CustomerID | Name | OrderID |
| --- | --- | --- |
| 101 | Alice | 1 |
| 102 | Bob | 2 |
| 103 | Carol | - |

Alle klanten verschijnen. Carol heeft geen orders (OrderID leeg).

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Right join-voorbeeld: een doel-gegevenstabel inkorten met een secundaire master-gegevensverzameling

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wijzigingsrecords vertegenwoordigt, die wordt geladen in een tabel genaamd Changes.

* Een tweede gegevensverzameling die wijzigingsrecords vertegenwoordigt die afkomstig zijn van het bronsysteem Teamwork. Deze wordt geladen en gecombineerd met de oorspronkelijke records door deze te koppelen met een Right Join load-voorvoegsel.

Dit zorgt ervoor dat alleen Teamwork-wijzigingsrecords worden behouden, terwijl geen Teamwork-records verloren gaan als de doeltabel geen overeenkomend Change ID heeft.

Load script

```
Changes:

Load * inline [
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10103	1	02/04/2022	29/05/2022	Medium
10185	2	23/06/2022	08/09/2022	None
10323	1	08/11/2022	26/11/2022	High
10326	2	11/11/2022	05/12/2022	None
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
10264	1	10/09/2022	17/10/2022	Medium
10116	1	15/04/2022	24/04/2022	None
10187	2	25/06/2022	24/08/2022	Low
] (delimiter is '\t');

Teamwork_changes:
Right Join (Changes)
Load
  [Ticket ID] AS [Change ID],
  [Source System]
inline
[
Ticket ID	Source System
10040	Teamwork
10015	Teamwork
10103	Teamwork
10031	Teamwork
50231	Teamwork
] (delimiter is '\t');
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* Source System

* Change ID

* Business Impact

Nu kunt u de vijf resulterende records inspecteren.

Resultatentabel

| Source System | Change ID | Business Impact |
| --- | --- | --- |
| Teamwork | 10015 | Low |
| Teamwork | 10031 | Low |
| Teamwork | 10040 | None |
| Teamwork | 10103 | Medium |
| Teamwork | 50231 | - |

## Probleemoplossing - Cross join

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Probleemoplossing load script-voorbeeld: geen gemeenschappelijke veldnamen

Overzicht

Als u twee tabellen samenvoegt zonder overeenkomende veldnamen, wordt elke rij uit de eerste tabel gecombineerd met elke rij uit de tweede — wat potentieel een enorm aantal records (een cartesiaans product) produceert en leidt tot onverwachte gegevenskoppelingen.

Load script

```
TableA:
Load * inline [
A_ID, ValueA
1, foo
2, bar
];

TableB:
Join (TableA)
Load * inline [
B_ID, ValueB
10, baz
11, qux
];
```

Resultaten

Als u het voorbeeldvenster in de Data model viewer uitvouwt, ziet u een deel van deze volledige resultatenset georganiseerd in een tabel:

Voorbeeld van tabel in de Data model viewer

| A\_ID | ValueA | B\_ID | ValueB |
| --- | --- | --- | --- |
| 1 | foo | 10 | baz |
| 1 | foo | 11 | qux |
| 2 | bar | 10 | baz |
| 2 | bar | 11 | qux |

Elke A\_ID wordt gekoppeld aan elke B\_ID (totaal 4 rijen).

TipControleer altijd of uw veldnamen overeenkomen zoals bedoeld voordat u een join uitvoert.

[Load](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

[Select](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)

[Inner](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Inner.htm)

[Outer](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Outer.htm)

[Left](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Left.htm)

[Right](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Right.htm)

[Keep](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Keep.htm)

[Tabellen samenvoegen met Join en Keep](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm)