Freigeben über


Linker Anti-Join

Eine der Verknüpfungsarten, die im Dialogfeld Merge in Power Query zur Verfügung stehen, ist eine linke Anti-Verknüpfung, die nur Zeilen aus der linken Tabelle einbringt, die keine übereinstimmenden Zeilen aus der rechten Tabelle haben. Weitere Informationen: Übersicht über die Zusammenführungsvorgänge

Beispiel für linken Anti-Join.

Das Diagramm zeigt die linke Tabelle 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. Die rechte Tabelle 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 hat drei Zeilen, wobei zwei Zeilen die Daten für CountryID 1 und eine Zeile für CountryID 2 enthalten. Da keine der verbleibenden CountryIDs mit einem der Länder/Regionen in der rechten Tabelle übereinstimmt, enthalten die Zeilen in der Spalte Land in der zusammengeführten Tabelle alle Null.

In diesem Artikel wird anhand von Beispieldaten gezeigt, wie man eine Zusammenführungsoperation mit dem linken 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.

    Screenshot der Tabelle „Verkauf“ mit den Spalten „Datum“, „CountryID“ und „Einheiten“, wobei „CountryID“ in den Zeilen 1 und 2 auf „1“, in Zeile 3 auf „3“ und in Zeile 4 auf „2“ gesetzt ist.

  • Länder: Diese Tabelle ist eine Referenztabelle mit den Feldern ID und Country. Das Feld ID stellt den eindeutigen Bezeichner für jeden Datensatz dar.

    Screenshot der Ländertabelle, wobei „ID“ in Zeile 1 auf „3“ und in Zeile 2 auf „4“ und „Land“ in Zeile 1 auf „Panama“ und in Zeile 2 auf „Spanien“ eingestellt sind.

In diesem Beispiel führen Sie beide Tabellen zusammen, wobei die Tabelle Verkäufe die linke Tabelle und die Tabelle Länder die rechte ist. Die Verknüpfung wird zwischen den folgenden Spalten hergestellt.

Feld aus der Tabelle Verkauf Feld aus der Tabelle Länder
CountryID Kennung

Ziel ist es, eine Tabelle wie die folgende zu erstellen, in der nur die Zeilen aus der linken Tabelle beibehalten werden, die nicht mit denen aus der rechten Tabelle übereinstimmen.

Entgültige Tabelle linker Anti-Join.

Screenshot der endgültigen Tabelle für den linken Anti-Join mit den Spaltenüberschriften Datum, CountryID, Einheiten und Land und drei Datenzeilen, bei denen die Werte für die Spalte „Land“ alle null sind.

So führen Sie einen linken Anti-Join durch:

  1. Wählen Sie die Abfrage Umsatz und dann Abfragen zusammenführen.
  2. Wählen Sie im Dialogfeld Zusammenführen unter Rechte Tabelle für Zusammenführen, Länder.
  3. Wählen Sie in der Tabelle Umsatz die Spalte CountryID.
  4. Wählen Sie in der Tabelle Länder die Spalte ID aus.
  5. Wählen Sie im Abschnitt Verbindungsart die Option Links gegen.
  6. Wählen Sie OK aus.

Screenshot des Dialogfelds „Zusammenführen“ mit den Ergebnissen nach dem vorherigen linken Anti-Join-Verfahren.

Tipp

Schauen Sie sich die Meldung am unteren Rand des Dialogfelds genauer an, die lautet: „Bei dieser Auswahl werden 3 von 4 Zeilen aus der ersten Tabelle ausgewählt.“ Diese Meldung ist entscheidend für das Verständnis des Ergebnisses, das Sie mit diesem Vorgang erzielen.

In der Tabelle Verkauf liegen zwei Instanzen der CountryID 1 und eine Instanz der CountryID 2 vor. Aber keine davon ist in der Tabelle Länder zu finden. Daher wurden beim Abgleich drei von vier Zeilen in der linken (ersten) Tabelle gefunden.

In der Tabelle Länder ist das Land Panama mit der ID 3 aufgeführt. Dieser Datensatz wird nicht in die Tabelle Verkauf eingefügt, da die Zahlen übereinstimmen. Darüber hinaus ist das Land Spanien mit der ID 4 aufgeführt, es gibt jedoch keine Datensätze für die CountryID 4 in der Tabelle Verkauf. Daher werden keine der beiden Zeilen aus der rechten (zweiten) Tabelle in die Tabelle Verkauf eingefügt.

Erweitern Sie in der neu erstellten Spalte Länder das Feld Land. Aktivieren Sie nicht das Kontrollkästchen Use original column name as prefix.

Screenshot des Dialogfelds „Erweitern“, wobei nur die Spalte „Land“ ausgewählt ist.

Nach Abschluss dieses Vorgangs haben Sie eine Tabelle erstellt, die wie in der folgenden Abbildung aussieht. Das neu erweiterte Feld Land weist keine Werte auf. Das liegt daran, dass der linke Anti-Join keine Werte aus der rechten Tabelle mitbringt, sondern nur Zeilen aus der linken Tabelle behält.

Entgültige Tabelle für linker Anti-Join.

Screenshot der endgültigen Tabelle mit den Spaltenüberschriften „Datum“, „CountryID“, „Einheiten“ und „Land“ sowie drei Datenzeilen. Die Werte für die Spalte „Land“ sind alle null.