Rechter Anti-Join
Eine der Verknüpfungsarten, die im Dialogfeld Merge in Power Query verfügbar sind, ist eine rechte Anti-Join, die nur Zeilen aus der rechten Tabelle einbringt, die keine übereinstimmenden Zeilen aus der linken Tabelle haben. Weitere Informationen: Übersicht über die Zusammenführungsvorgänge
Die Abbildung zeigt eine Tabelle auf der linken Seite mit den Spalten Datum, CountryID und Einheiten. Die hervorgehobene Spalte CountryID enthält die Werte 1 in den Zeilen 1 und 2, 3 in Zeile 3 und 2 in Zeile 4. Eine Tabelle auf der rechten Seite enthält die Spalten ID und Land. Die hervorgehobene Spalte ID enthält in Zeile 1 den Wert 3 (für Panama) und in Zeile 2 den Wert 4 (für Spanien). Eine Tabelle unterhalb der ersten beiden Tabellen enthält die Spalten Datum, CountryID, Einheiten und Land. Die Tabelle enthält eine Zeile, in der Datum, CountryID und Einheiten auf Null und das Land auf Spanien gesetzt sind.
In diesem Artikel wird anhand von Beispieldaten gezeigt, wie man eine Zusammenführungsoperation mit dem richtigen Anti-Join durchführt. Die Beispielquelltabellen für dieses Beispiel sind:
Umsatz: Diese Tabelle enthält die Felder Datum, CountryID, und Einheiten. CountryID ist ein ganzzahliger Wert, der den eindeutigen Bezeichner aus der Tabelle Länder darstellt.
Länder: Dies ist eine Referenztabelle mit den Feldern ID und Land. Das Feld ID stellt den eindeutigen Bezeichner für jeden Datensatz dar.
In diesem Beispiel werden beide Tabellen zusammengeführt, wobei die Tabelle Umsatz die linke Tabelle und die Tabelle Länder die rechte ist. Die Verbindung wird zwischen den folgenden Spalten hergestellt.
Feld aus der Tabelle Verkauf | Feld aus der Tabelle Länder |
---|---|
CountryID | ID |
Ziel ist es, eine Tabelle wie die folgende zu erstellen, in der nur die Zeilen aus der rechten Tabelle enthalten sind, die nicht mit denen der linken Tabelle übereinstimmen. Ein gängiger Anwendungsfall ist die Suche nach allen Zeilen, die in der rechten Tabelle vorhanden sind, aber in der linken Tabelle nicht gefunden werden.
Rechter Anti-Join der endgültigen Tabelle mit den Kopfspalten Datum, CountryID, Einheiten und Land, die eine Zeile mit Null in allen Spalten außer Land enthält, die Spanien enthält.
Einen richtigen Anti-Join machen
- Wählen Sie die Abfrage Umsatz und dann Abfragen zusammenführen.
- Wählen Sie im Dialogfeld Zusammenführen unter Rechte Tabelle für Zusammenführen, Länder.
- Wählen Sie in der Tabelle Umsatz die Spalte CountryID.
- Wählen Sie in der Tabelle Länder die Spalte ID.
- Wählen Sie im Abschnitt Art der Verbindung, Rechts gegen.
- Wählen Sie OK aus.
Tipp
Schauen Sie sich die Meldung am unteren Rand des Dialogfelds genauer an, die lautet: „Die Auswahl schließt 1 von 2 Zeilen der zweiten Tabelle aus.“ Diese Meldung ist entscheidend für das Verständnis des Ergebnisses, das Sie mit diesem Vorgang erzielen.
In der Tabelle Länder haben Sie das Land Spanien mit einer ID von 4, aber es gibt keine Datensätze für CountryID 4 in der Tabelle Sales. Deshalb fand nur eine von zwei Zeilen der rechten (zweiten) Tabelle eine Übereinstimmung. Aufgrund der Funktionsweise des rechten Anti-Joins werden Sie in der Ausgabe dieses Vorgangs niemals Zeilen aus der linken (ersten) Tabelle sehen.
Erweitern Sie in der neu erstellten Spalte Länder das Feld Land. Aktivieren Sie nicht das Kontrollkästchen Use original column name as prefix.
Nachdem Sie diesen Vorgang durchgeführt haben, erstellen Sie eine Tabelle, die wie die folgende Abbildung aussieht. Das neu erweiterte Feld Land hat keine Werte. Das liegt daran, dass die rechte Anti-Join keine Werte aus der linken Tabelle mitbringt, sondern nur Zeilen aus der rechten Tabelle behält.
Endgültige Tabelle mit den Kopfspalten Datum, CountryID, Einheiten und Land, die eine Zeile mit Null in allen Spalten außer Land enthält, das Spanien enthält.