# Join

Der join-Zusatz kombiniert die geladene Tabelle mit einer bestehenden benannten Tabelle bzw. mit der zuletzt erstellten Datentabelle.

Die Auswirkung der Verknüpfung von Daten besteht darin, die Zieltabelle durch einen weiteren Satz Felder oder Attribute zu erweitern, nämlich diejenigen, die in der Zieltabelle noch nicht vorhanden sind. Jeder gemeinsame Feldname zwischen dem Quelldatensatz und der Zieltabelle wird dazu verwendet, zu ermitteln, wie die neuen eingehenden Datensätze verknüpft werden. Dies wird in der Regel als „Natural Join“ bezeichnet. Ein QlikJoin-Vorgang kann dazu führen, dass die entstehende Tabelle mehr oder weniger Datensätze als anfänglich hat, abhängig von der Eindeutigkeit der Join-Verknüpfung und dem Typ des verwendeten Joins.

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

## Join-Typen

Es gibt vier Join-Typen:

* Left Join

* Inner Join

* Outer Join

* Right Join

Beispiel-Ergebnissätze nach verschiedenen Typen von Join-Vorgängen

Beispiel-Ergebnissätze nach verschiedenen Typen von Join-Vorgängen

Beispiel-Ergebnissätze nach verschiedenen Typen von Join-Vorgängen ![Beispielergebnissätze nach verschiedenen Typen von Join-Vorgängen, mit einer Vorher-Nachher-Darstellung der Datentabellen nach jedem Vorgang.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-join-examples-operations.png)

### Left Join

Left Joins sind der üblichste Join-Typ. Wenn Sie beispielsweise einen Transaktionsdatensatz mit einem Referenzdatensatz kombinieren möchten, verwenden Sie in der Regel einen `Left Join`. In diesem Fall laden Sie zuerst die Transaktionstabelle, dann den Referenzdatensatz, während Sie ihn über einen `Left Join`-Zusatz mit der bereits geladenen Transaktionstabelle verknüpfen. Ein `Left Join` behält alle Transaktionen unverändert bei und fügt die ergänzenden Referenzdatenfelder hinzu, wenn eine Übereinstimmung gefunden wird.

Left Join

Left Join

Left Join ![Diagramm, das auf hoher Ebene die Datenkombinationen darstellt, die bei einem Left Join auftreten.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_left.png)

### Inner Join

Wenn Sie zwei Datensätze haben, bei denen Sie nur an Ergebnissen interessiert sind, wenn eine übereinstimmende Verknüpfung vorliegt, können Sie einen `Inner Join` verwenden. Dadurch werden alle Datensätze sowohl aus den geladenen Quelldaten als auch aus der Zieltabelle entfernt, wenn keine Übereinstimmung gefunden wird. Als Ergebnis enthält Ihre Zieltabelle dann möglicherweise weniger Datensätze als vor dem Join-Vorgang.

Inner Join

Inner Join

Inner Join ![Diagramm, das auf hoher Ebene die Datenkombinationen darstellt, die bei einem Inner Join auftreten.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_inner.png)

### Outer Join (Standard)

Wenn Sie sowohl die Zieldatensätze als auch alle eingehenden Datensätze beibehalten möchten, verwenden Sie einen `Outer Join`. Wo keine Übereinstimmung gefunden wird, wird jeder Satz Datensätze dennoch beibehalten, während die Felder auf der gegenüber liegenden Seite des Join unausgefüllt (null) bleiben.

Wenn das Schlüsselwort für den Typ ausgelassen wird, ist Outer Join der Standard-Join-Typ.

Outer Join

Outer Join

Outer Join ![Diagramm, das auf hoher Ebene die Datenkombinationen darstellt, die bei einem Outer Join auftreten.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_outer.png)

### Right Join

Bei diesem Join-Typ werden alle zu ladenden Datensätze beibehalten, während die Datensätze in der Zieltabelle des Join auf diejenigen reduziert werden, bei denen eine Übereinstimmung bei den eingehenden Datensätzen vorliegt. Dies ist ein Nischen-Join-Typ, der manchmal als Möglichkeit zum Verkleinern einer bereits geladenen Datensatztabelle auf einen erforderlichen Teilsatz verwendet wird.

Right Join

Right Join

Right Join ![Diagramm, das auf hoher Ebene die Datenkombinationen darstellt, die bei einem Right Join auftreten.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_right.png)

### Cross Join

InformationshinweisWenn die Quelle und das Ziel eines Join-Vorgangs keine gemeinsamen Feldnamen enthalten, ergibt der Join ein kartesianisches Produkt aller Zeilen – dies wird als „Cross Join“ bezeichnet.

Ergebnisbeispiel für einen „Cross Join“-Vorgang.

Ergebnisbeispiel für einen „Cross Join“-Vorgang.

Ergebnisbeispiel für einen „Cross Join“-Vorgang. ![Vorher-Nachher-Vergleich von Eingabe- und Ausgabedaten nach einem „Cross Join“-Vorgang (der einen Join-Vorgang eines beliebigen Typs umfassen kann).](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-examples-join-no-common-fields.png)

## Syntax und Argumente

Syntax:

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

Argumente

| Argument | Beschreibung |
| --- | --- |
| tablename | Die benannte Tabelle, die mit der geladenen Tabelle verglichen wird. |
| loadstatementoder selectstatement | Der LOAD- oder SELECT-Befehl für die geladene Tabelle. |

## Verwandte Themen

Die folgenden Themen können Sie bei der Arbeit mit dieser Funktion unterstützen:

Verwandte Themen

| Thema | Beschreibung |
| --- | --- |
| [Kombinieren von Tabellen mit Join und Keep](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm) | Dieses Thema enthält weitere Erläuterungen der Konzepte von „Join“ (Verknüpfen) und „Keep“ (Beibehalten) von Datensätzen. |
| [Keep](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Keep.htm) | Der Ladezusatz `Keep` gleicht dem Zusatz `Join`, kombiniert aber die Quell- und Zieldatensätze nicht. Stattdessen kürzt er jeden Datensatz entsprechend dem gewählten Vorgangstyp (Inner, Outer, Left oder Right). |

## Ladeskriptbeispiele – Left Join

Ein Left Join behält alle Datensätze aus Ihrer Haupttabelle (Ziel) bei und fügt passende Daten aus einer zweiten Tabelle (Quelle) hinzu. Wenn es keine Übereinstimmung in der Quelle gibt, wird der Datensatz der Haupttabelle weiterhin angezeigt, jedoch mit leeren Feldern aus der Quelltabelle.

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

#### Left Join: einfaches Beispiel

Fügen Sie Ihrer Anwendung das Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer Anwendung dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

Ladeskript

```
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 ]; 
```

Weitere Informationen über Inline-Ladevorgänge finden Sie unter [Verwenden von Inline-Ladevorgängen zum Laden von Daten](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Ergebnisse

Ergebnistabelle

| Spalte1 | Spalte2 | Spalte3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |

Dieses Beispiel zeigt die Ausgabe für den Left Join, wenn nur Werte, die in der ersten (linken) Tabelle vorhanden sind, verknüpft werden.

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

#### Beispiel eines Left Join: Kundeninformationen zu Bestellungen hinzufügen

Übersicht

Angenommen, Sie haben eine Liste von Bestellungen, aber nicht alle Bestellungen haben einen übereinstimmenden Kundendatensatz.

Ladeskript

```
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
];
```

Ergebnisse

Wenn Sie das Vorschaufenster in der Datenmodellansicht erweitern, sehen Sie einen Teil dieses vollständigen Ergebnissatzes in Form einer Tabelle:

Tabellenvorschau in der Datenmodellansicht

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

OrderID 1 und 2 haben übereinstimmende Kunden. OrderID 3 hat keinen übereinstimmenden Kunden, daher ist Name leer.

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

#### Beispiel eines Left Join: Erweitern einer Zieltabelle mit einem Referenzdatensatz

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz mit Änderungsdatensätzen, der in eine Tabelle namens `Changes` geladen wird. Sie enthält ein „Status ID“-Schlüsselfeld.

* Ein zweiter Datensatz, der Änderungsstatus darstellt, wird geladen und mit den ursprünglichen Änderungsdatensätzen kombiniert, indem sie mit dem Ladezusatz „Left `Join`“ verknüpft werden.

Dieser Left Join sorgt dafür, dass die Änderungsdatensätze intakt bleiben, während Statusattribute hinzugefügt werden, wenn eine Übereinstimmung mit den eingehenden Statuseinträgen basierend auf einer gemeinsamen Status-ID gefunden wird.

Ladeskript

```
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');
```

Ergebnisse

Öffnen Sie die Datenmodellansicht und beachten Sie die Form des Datenmodells. Nur eine denormalisierte Tabelle ist vorhanden. Es handelt sich um eine Kombination aller ursprünglichen Änderungsdatensätze, wobei die übereinstimmenden Statusattribute jedem Änderungsdatensatz hinzugefügt werden.

Entstandenes internes Datenmodell

| Änderungen |
| --- |
| Änderungs-ID |
| Status-ID |
| Geplantes Startdatum |
| Geplantes Enddatum |
| Geschäftliche Auswirkung |
| Status |
| Unterstatus |

Wenn Sie das Vorschaufenster in der Datenmodellansicht erweitern, sehen Sie einen Teil dieses vollständigen Ergebnissatzes in Form einer Tabelle:

Vorschau der Änderungstabelle in der Datenmodellansicht

| Änderungs-ID | Status-ID | Geplantes Startdatum | Geplantes Enddatum | Geschäftliche Auswirkung | Status | Unterstatus |
| --- | --- | --- | --- | --- | --- | --- |
| 10030 | 4 | 19/01/2022 | 23/02/2022 | Keine | Geschlossen | Abgebrochen |
| 10031 | 3 | 20/01/2022 | 25/03/2022 | Niedrig | Geschlossen | Abgeschlossen |
| 10015 | 3 | 04/01/2022 | 15/02/2022 | Niedrig | Geschlossen | Abgeschlossen |
| 10103 | 1 | 02/04/2022 | 29/05/2022 | Mittel | Öffnen | Nicht gestartet |
| 10116 | 1 | 15/04/2022 | 24/04/2022 | Keine | Öffnen | Nicht gestartet |
| 10134 | 1 | 03/05/2022 | 08/07/2022 | Niedrig | Öffnen | Nicht gestartet |
| 10264 | 1 | 10/09/2022 | 17/10/2022 | Mittel | Öffnen | Nicht gestartet |
| 10040 | 1 | 29/01/2022 | 22/04/2022 | Keine | Öffnen | Nicht gestartet |
| 10323 | 1 | 08/11/2022 | 26/11/2022 | Hoch | Öffnen | Nicht gestartet |
| 10187 | 2 | 25/06/2022 | 24/08/2022 | Niedrig | Öffnen | Gestartet |
| 10185 | 2 | 23/06/2022 | 08/09/2022 | Keine | Öffnen | Gestartet |
| 10220 | 2 | 28/07/2022 | 06/09/2022 | Keine | Öffnen | Gestartet |
| 10326 | 2 | 11/11/2022 | 05/12/2022 | Keine | Öffnen | Gestartet |
| 10138 | 2 | 07/05/2022 | 03/08/2022 | Keine | Öffnen | Gestartet |
| 10334 | 2 | 19/11/2022 | 06/02/2023 | Niedrig | Öffnen | Gestartet |

Da die fünfte Zeile in der Statustabelle (Status-ID: „5“, Status: „Geschlossen“, Unterstatus: „Veraltet“) keinem der Datensätze in der Änderungstabelle entspricht, werden die Informationen dieser Zeile nicht im obigen Ergebnissatz angezeigt.

Kehren Sie zum Dateneditor zurück. Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu: `Status`.

Fügen Sie folgende Kennzahl hinzu:

`=Count([Change ID])`

Jetzt können Sie die Anzahl der Änderungen nach Status prüfen.

Ergebnistabelle

| Status | =Count([Change ID]) |
| --- | --- |
| Öffnen | 12 |
| Geschlossen | 3 |

## Ladeskriptbeispiele – Inner Join

Ein Inner Join behält nur Datensätze bei, die in beiden Tabellen existieren (basierend auf übereinstimmenden Feldwerten).

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

#### Inner Join: einfaches Beispiel

Ladeskript

Fügen Sie Ihrer Anwendung das Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer Anwendung dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

```
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 ];
```

Weitere Informationen über Inline-Ladevorgänge finden Sie unter [Verwenden von Inline-Ladevorgängen zum Laden von Daten](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Ergebnisse

Ergebnistabelle

| Spalte1 | Spalte2 | Spalte3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |

Dieses Beispiel zeigt die Ausgabe für den Inner Join, wenn nur Werte, die sowohl in der ersten (linken) als auch in der zweiten (rechten) Tabelle vorhanden sind, verknüpft werden.

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

#### Beispiel für einen Inner Join: Bestellungen nur auf versendete Bestellungen reduzieren

Übersicht

Sie haben Bestellungen und eine Liste der versendeten Bestellungen. Sie möchten nur die Bestellungen anzeigen, die versendet wurden.

Ladeskript

```
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
];
```

Ergebnisse

Wenn Sie das Vorschaufenster in der Datenmodellansicht erweitern, sehen Sie einen Teil dieses vollständigen Ergebnissatzes in Form einer Tabelle:

Tabellenvorschau in der Datenmodellansicht

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

Nur OrderID 2 und 3 werden angezeigt, da sie in beiden Tabellen vorhanden sind.

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

#### Beispiel eines Inner Join: Nur übereinstimmende Datensätze werden kombiniert

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz mit Änderungsdatensätzen, der in eine Tabelle namens Changes geladen wird.

* Ein zweiter Datensatz, der Änderungsdatensätze aus dem Quellsystem JIRA darstellt, wird geladen und mit den ursprünglichen Datensätzen kombiniert, indem sie mit dem Ladezusatz Inner Join verknüpft werden.

Dieser Inner Join sorgt dafür, dass nur die fünf in beiden Datensätzen gefundenen Änderungsdatensätze beibehalten werden.

Ladeskript

```
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');
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* Source System

* Change ID

* Business Impact

Jetzt können Sie die fünf Ergebnisdatensätze prüfen. Die Ergebnistabelle eines Inner Join enthält nur Einträge mit übereinstimmenden Informationen in beiden Datensätzen.

Ergebnistabelle

| Quellsystem | Änderungs-ID | Geschäftliche Auswirkung |
| --- | --- | --- |
| JIRA | 10030 | Keine |
| JIRA | 10134 | Niedrig |
| JIRA | 10220 | Keine |
| JIRA | 10323 | Hoch |
| JIRA | 10334 | Niedrig |

## Ladeskriptbeispiele – Outer Join

Ein Outer Join behält alle Datensätze aus beiden Tabellen bei. Wo keine Übereinstimmung vorhanden ist, bleiben Felder leer.

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

#### Outer Join: einfaches Beispiel

Ladeskript

Fügen Sie Ihrer Anwendung das Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer Anwendung dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

```
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 ]; 
```

Weitere Informationen über Inline-Ladevorgänge finden Sie unter [Verwenden von Inline-Ladevorgängen zum Laden von Daten](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Ergebnisse

Ergebnistabelle

| Spalte1 | Spalte2 | Spalte3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |
| 4 | - | yy |

In diesem Beispiel werden die beiden Tabellen Table1 und Table2 zu einer einzigen Tabelle namens Table1 zusammengeführt. In solchen Fällen wird häufig das Präfix outer verwendet, um mehrere Tabelle in einer einzigen Tabelle zu verknüpfen und Aggregierungen anhand der Werte einer einzelnen Tabelle durchzuführen.

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

#### Outer Join: Erstellen einer vollständigen Liste aller Kunden und Bestellungen

Übersicht

Sie möchten eine vollständige Liste aller Kunden und Bestellungen, auch wenn einige Kunden keine Bestellungen und einige Bestellungen keinen Kundendatensatz haben.

Ladeskript

```
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
];
```

Ergebnisse

Wenn Sie das Vorschaufenster in der Datenmodellansicht erweitern, sehen Sie einen Teil dieses vollständigen Ergebnissatzes in Form einer Tabelle:

Tabellenvorschau in der Datenmodellansicht

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

OrderID 3 hat keinen übereinstimmenden Kunden (Name leer).

CustomerID 103 (Carol) hat keine übereinstimmende Bestellung (OrderID leer).

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

#### Outer Join: Kombinieren von überlappenden Datensätzen

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz mit Änderungsdatensätzen, der in eine Tabelle namens Changes geladen wird.

* Ein zweiter Datensatz, der Änderungsdatensätze aus dem Quellsystem JIRA darstellt, wird geladen und mit den ursprünglichen Datensätzen kombiniert, indem sie mit dem Ladezusatz Outer Join verknüpft werden.

Dies sorgt dafür, dass alle überlappenden Änderungsdatensätze aus beiden Datensätzen beibehalten werden.

Ladeskript

```
// 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');
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* Source System

* Change ID

* Business Impact

Jetzt können Sie die zehn Ergebnisdatensätze prüfen.

Ergebnistabelle

| Quellsystem | Änderungs-ID | Geschäftliche Auswirkung |
| --- | --- | --- |
| JIRA | 10030 | Keine |
| JIRA | 10134 | Niedrig |
| JIRA | 10220 | Keine |
| JIRA | 10323 | - |
| JIRA | 10334 | Niedrig |
| JIRA | 10597 | - |
| - | 10015 | Niedrig |
| - | 10031 | Niedrig |
| - | 10040 | Keine |
| - | 10138 | Keine |

## Ladeskriptbeispiele – Right Join

Ein Right Join behält alle Datensätze aus der Quelltabelle bei und fügt übereinstimmende Informationen aus der Zieltabelle hinzu. Wenn die Zieltabelle keine Übereinstimmung enthält, bleiben die entsprechenden Felder leer.

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

#### Right Join: einfaches Beispiel

Ladeskript

Fügen Sie Ihrer Anwendung das Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer Anwendung dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

```
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 ];
```

Weitere Informationen über Inline-Ladevorgänge finden Sie unter [Verwenden von Inline-Ladevorgängen zum Laden von Daten](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Ergebnis

Ergebnistabelle

| Spalte1 | Spalte2 | Spalte3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 4 | - | yy |

Dieses Beispiel zeigt die Ausgabe für den Right Join, wobei nur Werte, die in der zweiten (rechten) Tabelle vorhanden sind, verknüpft werden.

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

#### Beispiel für einen Right Join: Kombinieren aller Kunden mit übereinstimmenden Bestellungen

Übersicht

Ihre Quelltabelle ist eine Liste von Kunden; Sie möchten alle Kunden sowie alle übereinstimmenden Bestellungen anzeigen.

Ladeskript

```
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
];
```

Ergebnisse

Wenn Sie das Vorschaufenster in der Datenmodellansicht erweitern, sehen Sie einen Teil dieses vollständigen Ergebnissatzes in Form einer Tabelle:

Tabellenvorschau in der Datenmodellansicht

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

Alle Kunden werden angezeigt. Carol hat keine Bestellungen („OrderID“ leer).

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

#### Beispiel eines Right Join: Kürzen einer Zieltabelle durch einen sekundären Master-Datensatz

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz mit Änderungsdatensätzen, der in eine Tabelle namens Changes geladen wird.

* Ein zweiter Datensatz stellt die Änderungsdatensätze dar, die aus dem Quellsystem Teamwork stammen. Diese werden geladen und mit den Originaldatensätzen kombiniert, indem sie mit einem Right Join-Ladepräfix verknüpft werden.

Dies sorgt dafür, dass nur Teamwork-Änderungsdatensätze beibehalten werden und gleichzeitig keine Teamwork-Datensätze verloren gehen, wenn die Zieltabelle keine übereinstimmende Change ID enthält.

Ladeskript

```
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');
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* Source System

* Change ID

* Business Impact

Jetzt können Sie die fünf Ergebnisdatensätze prüfen.

Ergebnistabelle

| Quellsystem | Änderungs-ID | Geschäftliche Auswirkung |
| --- | --- | --- |
| Teamarbeit | 10015 | Niedrig |
| Teamarbeit | 10031 | Niedrig |
| Teamarbeit | 10040 | Keine |
| Teamarbeit | 10103 | Mittel |
| Teamarbeit | 50231 | - |

## Fehlerbehebung – Cross Join

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

#### Beispiel eines Ladeskripts zur Fehlerbehebung: keine gemeinsamen Feldnamen

Übersicht

Wenn Sie zwei Tabellen ohne übereinstimmende Feldnamen verknüpfen, wird jede Zeile der ersten Tabelle mit jeder Zeile der zweiten kombiniert – was potenziell eine riesige Anzahl von Datensätzen (ein kartesisches Produkt) erzeugt und zu unerwarteten Datenzuordnungen führt.

Ladeskript

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

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

Ergebnisse

Wenn Sie das Vorschaufenster in der Datenmodellansicht erweitern, sehen Sie einen Teil dieses vollständigen Ergebnissatzes in Form einer Tabelle:

Tabellenvorschau in der Datenmodellansicht

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

Jede A\_ID wird mit jeder B\_ID verbunden (insgesamt 4 Zeilen).

TipphinweisÜberprüfen Sie immer, dass Ihre Feldnamen wie beabsichtigt übereinstimmen, bevor Sie einen Join ausführen.

## Weitere Informationen

* [Load](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)
* [Inner](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Inner.htm)
* [Outer](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Outer.htm)
* [Left](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Left.htm)
* [Right](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Right.htm)
* [Keep](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Keep.htm)
* [Kombinieren von Tabellen mit Join und Keep](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm)