Zum Inhalt springen

Führt, wie der Name schon sagt, einen Inner Join auf zwei Datentabellen aus und kombiniert sie anhand der angegebenen Join-Schlüssel zu einer einzigen Datentabelle.

Weitere Informationen zur Methodik des Inner Join finden Sie hier: Wikipedia SQL Inner Join

Tabelle ATabelle Bübereinstimmendbehalten
Inner Join: behält nur Zeilen, deren Join-Schlüssel in beiden Tabellen übereinstimmt (die Schnittmenge). Nicht übereinstimmende Zeilen beider Seiten werden verworfen.

Tabellenquelle

Geben Sie die Quelldatentabelle an, indem Sie sie im Dropdown-Menü auswählen.

Quellspalten

Geben Sie hier die Spalten an, die einbezogen werden sollen. Über die Schaltflächen Quelle untersuchen und Quellzuordnungstabelle füllen werden diese Spalten für die Join-Operation verfügbar.

Teilmenge der Quelldaten auswählen

Zur Auswahl einer Teilmenge der Daten ist jeder gültige Python-Ausdruck zulässig. Weitere Details und Beispiele finden Sie unter Ausdrücke.

Tabellenquelle

Wählen Sie Auch zur Laufzeit benannte Spalten übernehmen, um jede Quellspalte, die der Schritt nicht aufführt, unverändert weiterzugeben, so wie die Tabelle sie bei der Ausführung des Schritts hat. Verwenden Sie die Option, wenn ein vorheriger Schritt Spalten erzeugt, deren Namen von den Daten abhängen (zum Beispiel ein Pivot), sodass Sie sie beim Erstellen des Schritts nicht auflisten können. Lassen Sie sie deaktiviert, um nur die von Ihnen aufgeführten Spalten zu schreiben.

Zieltabelle

Zieltabelle

Um die Zieltabelle festzulegen, wählen Sie entweder über die Dropdown-Liste Zieltabelle eine vorhandene Tabelle als Ziel oder klicken auf das grüne „+“, um eine neue Tabelle als Ziel zu erstellen.

Tabelle erstellen

Beim Erstellen einer neuen Tabelle können Sie wählen, ob sie als Ansicht oder als Tabelle erstellt wird.

Ansichten:

Ansichten sind nützlich, weil die Ausführungszeit eines Schritts deutlich kürzer ist als bei einer Tabelle. Der Nachteil von Ansichten ist, dass sie sich in der Detailansicht der Tabelle weniger gut zur Datenexploration eignen.

Tabellen:

Wenn eine Tabelle als Ziel verwendet wird, dauert die Ausführung eines Schritts länger, dafür ist die Datenexploration in der Detailansicht deutlich schneller als bei einer Ansicht.

Table Join Map

Legen Sie die Join-Bedingungen fest. Erraten füllt die Join Map mit der ersten der folgenden Möglichkeiten, die sich aus den Spalten der beiden Tabellen ergibt:

  • die Schlüssel eines anderen Join-Schritts in diesem Projekt, der dieselben beiden Tabellen verknüpft
  • die Schlüssel einer genehmigten Kennzahl, die sie verknüpft
  • die Schlüsselspalten, die für eine der Tabellen festgelegt sind, nach Namen in der anderen Tabelle zugeordnet
  • die Spalten mit demselben Namen in Tabelle 1 und Tabelle 2
  • Spalten, deren Namen sich nur in der Groß-/Kleinschreibung oder durch Unterstriche unterscheiden, oder eine Spalte id, die einer nach ihrer Tabelle benannten Spalte zugeordnet wird, etwa customer_id für eine Tabelle namens Customers

Eine Zeile unter der Zuordnung zeigt, welche Möglichkeit verwendet wurde, bis Sie die Zuordnung ändern. „Erraten“ liest die Spalten der Tabellen, nicht ihre Zeilen. Prüfen Sie daher die Schlüssel, bevor Sie speichern. Quelle untersuchen füllt eine leere Join Map auf dieselbe Weise.

Um weitere Spalten manuell hinzuzufügen, klicken Sie an einer beliebigen Stelle im Bereich mit der rechten Maustaste und wählen Sie Zeile einfügen oder Zeile anhängen, um eine Zeile vor der aktuell ausgewählten Zeile bzw. am Ende einzufügen. Geben Sie dann die Spaltennamen ein, die Tabelle 1 und Tabelle 2 zugeordnet werden sollen. Um ein Feld aus der Join Map zu entfernen, klicken Sie mit der rechten Maustaste und wählen Löschen.

Schlüssel prüfen neben Erraten zählt die Schlüsselwerte in der Join Map, die in mehr als einer Zeile einer Tabelle vorkommen. Wiederholt sich ein Schlüsselwert in der Tabelle, mit der Sie verknüpfen, erscheint jede passende Zeile so oft im Ergebnis, wie sie Treffer hat. Das Ergebnis kann daher mehr Zeilen enthalten als die Tabelle, mit der Sie begonnen haben.

Welche Tabelle geprüft wird, hängt vom Schritt ab:

  • Inner Join und Table Lookup: Tabelle 2.
  • Outer Join: Tabelle 2 bei einem Left Join, Tabelle 1 bei einem Right Join und beide Tabellen bei einem Full Join.

Das Ergebnis erscheint unter der Join Map. Es nennt die Anzahl der wiederholten Schlüsselwerte und der Zeilen, die sie gemeinsam haben, und führt bis zu fünf der am häufigsten wiederholten Werte auf. Gezählt werden:

  • die Tabelle in ihrem aktuellen Zustand, nach dem Filter dieses Schritts für diese Tabelle;
  • nur die Zeilen, die Sie sehen können, wenn die Sicherheit auf Zeilenebene einschränkt, was Sie von der Tabelle sehen. Das Ergebnis weist darauf hin;
  • keine Zeilen mit leerem Schlüssel, da ein leerer Schlüssel nie mit einer anderen Zeile übereinstimmt. Eine Ausnahme ist ein Inner oder Outer Join, der so eingestellt ist, dass leere Schlüssel einander entsprechen, wie es bei einem aus Alteryx konvertierten Join der Fall sein kann: Dort zählen leere Schlüssel als Schlüsselwert und können als (leer) aufgeführt werden.

Table Lookup wiederholt nie eine Zeile. Bei einem wiederholten Schlüssel behält es eine Zeile aus Tabelle 2 und nimmt dabei für jede Spalte den niedrigsten Wert (die kleinste Zahl, das früheste Datum, den ersten Text in der Sortierreihenfolge). Diese Zeile kann daher Werte aus verschiedenen Zeilen von Tabelle 2 mischen. „Schlüssel prüfen“ weist darauf hin, wenn das passiert. Wenn Sie steuern möchten, welche Werte verwendet werden, sorgen Sie dafür, dass jeder Schlüssel in Tabelle 2 nur einmal vorkommt.

Die Prüfung liest die Tabelle in Ihrem Warehouse. Sie läuft deshalb nur, wenn Sie sie auswählen, und endet nach 30 Sekunden. Wenn Sie eine der beiden Tabellen, ihren Filter, die Join Map oder bei Outer Join den Verknüpfungstyp ändern, wird das Ergebnis gelöscht.

Data-Mapper-Konfiguration

Tabellen-Data-Mapper

Der Data Mapper ordnet Spalten der Quelldaten der Zieldatentabelle zu.

Untersuchen und Füllen des Mappers

Mit der Menüschaltfläche Quelle untersuchen stehen Ihnen weitere Möglichkeiten zur Verfügung, Spalten von der Quelle dem Ziel zuzuordnen:

  • Beide Zuordnungstabellen füllen: Übernimmt alle Werte aus der Quelldatentabelle in die Zieldatentabelle. Dies ist die Standardeinstellung.
  • Nur Quellzuordnungstabelle füllen: Ordnet nur alle Werte in der Quelldatentabelle zu. Das ist hilfreich, wenn Sie einen bestehenden Workflow ändern und sich die Spaltenstruktur der Quelle geändert hat.
  • Nur Zielzuordnungstabelle füllen: Übernimmt alle Werte nur in die Zieldatentabelle.

Reichen die Optionen für Quell- und Zielspalten nicht aus, können Sie auf verschiedene Weise weitere Spalten in die Zieldatentabelle einfügen:

  • Alle übernehmen fügt alle Quellspalten in die Zieldatentabelle ein, unabhängig davon, ob sie dort bereits vorhanden sind.
  • Ausgewählte übernehmen fügt nur die ausgewählten Quellspalten ein.
  • Klicken Sie mit der rechten Maustaste auf die Zielseite und wählen Sie Zeile einfügen, um direkt über der aktuell ausgewählten Zeile eine Zeile einzufügen.
  • Klicken Sie mit der rechten Maustaste auf die Zielseite und wählen Sie Zeile anhängen, um am unteren Ende (ganz rechts) der Zieldatentabelle eine Zeile einzufügen.

Spalten löschen

Um Spalten aus der Zieldatentabelle zu löschen, wählen Sie die gewünschten Spalten aus, klicken Sie mit der rechten Maustaste und wählen Sie Löschen.

Quellspalten, die nicht mehr aufgeführt sind

Eine Zielzeile kann eine Quellspalte benennen, die die Quelldatentabelle nicht mehr aufführt, zum Beispiel nachdem die Quelle erneut untersucht wurde. Der Schritt entfernt eine solche Zeile nie von selbst. Stattdessen wird der Spaltenname rot hinter einem Warnsymbol ⚠ angezeigt, und beim Daraufzeigen erscheint der Hinweis, dass die Spalte nicht in den Quellspalten enthalten ist. Bei einem Schritt mit mehreren Tabellen, etwa einer Union, wird jede Tabelle anhand ihrer eigenen Quellspalten geprüft.

Eine Zeile mit einer Konstante, einem Ausdruck oder einer Zusammenfassung Anzahl (einschließlich Nullwerte) wird nie markiert, da der Schritt ihre Quellspalte nicht liest. Solange die Quelldatentabelle keine Spalten aufführt, wird nichts markiert, zum Beispiel bevor die Quelle zum ersten Mal untersucht wurde.

Wenn Sie einen Schritt speichern, der noch markierte Zeilen enthält, listet ein Dialog Veraltete Spalten gefunden diese unter der Registerkarte oder Tabelle auf, auf der sie sich befinden, und bietet drei Optionen:

  • Alle entfernen und speichern — die markierten Zeilen entfernen und anschließend speichern.
  • Trotzdem speichern — den Schritt unverändert speichern.
  • Abbrechen — zum Schritt zurückkehren, ohne zu speichern.

Um eine Zeile beizubehalten und ihre Warnung zu beseitigen, fügen Sie die Spalte wieder zur Quelldatentabelle hinzu oder wählen Sie eine Spalte, die die Quelldatentabelle aufführt.

Spaltendatentyp

Jede Zielspalte hat einen Typ. Eine aus der Quelle übernommene Spalte behält den Typ der Quellspalte; eine von Hand hinzugefügte Zeile beginnt als Text, und Sie legen den Typ fest, den sie tatsächlich haben soll — eine Spalte, die Sie summieren oder sortieren möchten, benötigt ihren numerischen Typ oder Datumstyp, denn Text wird als Text sortiert und summiert.

Ein Schritt, der mit einer Spalte ohne jeden Typ gespeichert wurde, wird trotzdem ausgeführt. Der Typ wird beim Start des Schritts anhand der Quellspalte ermittelt, die diese Spalte liest. Gibt es nichts, woraus er sich ablesen ließe, wird er als Text behandelt: Die Spalten eines Schritts SQL extrahieren stammen aus der von Ihnen geschriebenen Abfrage und nicht aus einer zugeordneten Quelle, und wenn mehrere Quellen dieselbe Spaltenbezeichnung mit unterschiedlichen Typen führen, wird Text verwendet, statt einen davon zu erraten — eine falsche Vermutung führt zu einer Konvertierung, die das Warehouse ablehnen kann, und alles lässt sich in Text umwandeln.

Den Typ selbst festzulegen ist weiterhin der Weg, um zu bestimmen, was eine Spalte sein soll. Lassen Sie ihn leer, übernehmen Sie, was auch immer die Quellspalte gerade ist.

Spaltenreihenfolge ändern

Um Spalten in der Zieldatentabelle neu anzuordnen, wählen Sie die gewünschten Spalten aus. Dazu haben Sie zwei Möglichkeiten:

  • Pfeile für Massenverschiebung: Wählen Sie die gewünschte Verschiebeoption über die Pfeile oben rechts aus.
  • Kontextmenü: Klicken Sie mit der rechten Maustaste und wählen Sie An den Anfang verschieben, Nach oben, Nach unten oder An das Ende verschieben.

Ergebnis auf eindeutige Datensätze beschränken

Um nur eindeutige Werte zurückzugeben, wählen Sie die Menüoption Eindeutig. Dadurch wird für jede Spalte der Quelle ein Kontrollkästchen eingeblendet. Aktivieren Sie einfach das Kontrollkästchen neben der jeweiligen Spalte, um nur eindeutige Ergebnisse zurückzugeben.

Je nach Situation kann es sinnvoll sein, stattdessen eine Zusammenfassung in Betracht zu ziehen.

Beim Eindeutig-Verfahren bleibt der erste gefundene eindeutige Datensatz erhalten, die übrigen werden verworfen. Wenn Konsistenz zwischen den Ausführungen wichtig ist, sollten Sie die Daten sortieren.

Aggregation und Gruppierung

Um Ergebnisse zu aggregieren, wählen Sie die Menüoption Zusammenfassen. Dadurch wird für jede Spalte in der Zieldatentabelle ein Auswahlfeld eingeblendet. Wählen Sie für jede Spalte eine geeignete Zusammenfassungsmethode aus.

Wenn Quelle untersuchen die Spalten füllt, beginnt eine Zahlenspalte als Gruppieren nach statt als Summe, wenn ihr Name wie ein Bezeichner aussieht, etwa id, customer_id, Order No oder CustomerKey, wenn ihre Tabelle sie als Schlüssel festlegt oder wenn der Join sie als Schlüssel verwendet.

  • Gruppieren nach
  • Summe
  • Min
  • Max
  • Erster
  • Letzter
  • Anzahl
  • Anzahl (einschließlich Nullwerte)
  • Mittelwert
  • Standardabweichung
  • Stichproben-Standardabweichung
  • Grundgesamtheits-Standardabweichung
  • Varianz
  • Stichprobenvarianz
  • Grundgesamtheitsvarianz
  • Erweitert ohne Gruppierung

Informationen zur erweiterten Nutzung des Data Mappers, etwa zu Ausdrücken, Bereinigung und Konstanten, finden Sie unter Erweiterte Nutzung des Data Mappers

Eine Zeile der Join Map oder der Zielausgabespalten kann eine Spalte nennen, die die Registerkarte Quellspalten des Schritts nicht mehr aufführt, zum Beispiel nachdem die Spalten einer Quelle erneut untersucht wurden. Der Schritt entfernt eine solche Zeile nie für Sie. Stattdessen wird der Spaltenname rot hinter einem Warnzeichen ⚠ angezeigt, und beim Daraufzeigen sehen Sie, in der Liste welcher Quelle die Spalte fehlt.

Eine Zeile der Zielausgabespalten mit einer Konstante, einem Ausdruck oder einer Zusammenfassung Anzahl (einschließlich Nullwerte) wird nie markiert, weil der Schritt die Quellspalte der Zeile nicht liest. Gegen eine Quelle mit leerer Liste, zum Beispiel eine, die nie untersucht wurde, wird nichts geprüft.

Wenn Sie einen Schritt speichern, der noch markierte Zeilen enthält, listet der Dialog Veraltete Spalten gefunden sie nach Tabelle auf und bietet drei Möglichkeiten:

  • Alle entfernen und speichern – Entfernt die markierten Zeilen und speichert dann.
  • Trotzdem speichern – Speichert den Schritt unverändert.
  • Abbrechen – Kehrt zum Schritt zurück, ohne zu speichern.

Um eine Zeile zu behalten und ihre Warnung zu beseitigen, fügen Sie die Spalte auf der Registerkarte Quellspalten wieder zur Liste dieser Quelle hinzu oder wählen Sie eine Spalte, die in der Liste enthalten ist.

Beim Speichern wird außerdem jede Quelltabelle in ihrem aktuellen Zustand geprüft. Hat die Liste einer Quelle eine Spalte, die ihre Tabelle nicht hat, öffnet sich der Dialog Fehlende Quellspalten, der die Tabelle und die Spalte nennt, mit Trotzdem speichern oder Abbrechen. Sind zusätzlich Zeilen markiert, erscheinen beide Hinweise gemeinsam im Dialog Veraltete Spalten gefunden. Siehe Spalten, die in der Quelltabelle fehlen.

Table Data Filters

Für maximale Flexibilität stehen Datenfilter sowohl für die Quelldaten als auch für die Zieldaten zur Verfügung. Bei größeren Datensätzen kann es besonders vorteilhaft sein, Zeilen bereits in der Quelle herauszufiltern, sodass die übrigen Operationen auf einem kleineren Datensatz ausgeführt werden.

Teilmenge der Daten auswählen

Mit diesem Filtertyp filtern Sie die eingehenden Quelldaten anhand der angegebenen Bedingungen.

Sekundären Filter auf Ergebnisdaten anwenden

Mit diesem Filtertyp wenden Sie anhand der angegebenen Bedingungen einen Filter auf die Ergebnisdaten nach der Transformation an. Dadurch können Zeilen anhand der Ergebnisse komplexer Berechnungen, Zusammenfassungen oder Fensterfunktionen ausgeschlossen werden.

Zeilenbegrenzung der endgültigen Datentabelle (Limit)

Mit der Zeilenbegrenzung schränken Sie die Zeilen im Ergebnis anhand eines Bereichs und eines Startpunkts ein.

Filtersyntax

Die Filtersyntax nutzt Python SQLAlchemy und entspricht damit der Syntax anderer Ausdrücke.

Beispiele und Ausdrucksfunktionen finden Sie im Bereich Ausdrücke.

Betrachten Sie in diesem Beispiel die folgenden Quelldatentabellen. Die erste ist eine Liste von Automobilherstellern.

Mfg_ID Manufacturer
1 Aston Martin
2 Porsche
3 Lamborghini
4 Ferrari
5 Koenigsegg

Die nächste ist eine Liste von Automodellen mit einer Hersteller-ID. Beachten Sie, dass es mehrere Modelle ohne Hersteller gibt.

ModelName Mfg_ID
Aventador 3
Countach 3
DBS 1
Enzo 4
One-77 1
Optimus Prime
Batmobile
Agera 5
Lightning McQueen

Um eine Liste der Modelle nach Hersteller zu erhalten, bietet sich ein Join über Mfg_ID an.

Legen Sie zunächst die Parameter für Table 1 Data Selection fest. Die Quelldatentabelle ist ausgewählt, und alle Spalten sind aufgelistet.

Legen Sie als Nächstes die Parameter für Table 2 Data Selection fest. Auch hier ist die Quelldatentabelle ausgewählt, und alle Spalten sind aufgelistet.

Zum Schluss werden die Join-Bedingungen in der Registerkarte Table Output festgelegt. Mit der Schaltfläche Erraten erkennt Analyze die Spalte Mfg_ID korrekt als Join Key. Die

Zielausgabespalten werden anschließend mit der Schaltfläche Weitergeben automatisch festgelegt. Damit sind effektiv alle Spalten aller Tabellen enthalten, wobei alle Join-Spalten nur einmal vorkommen. Beachten Sie, dass die Spalten alphabetisch sortiert sind, zuerst nach Manufacturer und dann nach ModelName.

Wie erwartet enthält die endgültige Ausgabe nur Werte, die in beiden Tabellen eine Übereinstimmung hatten. Porsche erscheint deshalb nicht, weil es keine Modelle hatte. Ebenso hatte der

Batmobile keinen Hersteller (es war eine Sonderanfertigung) und ist daher nicht enthalten.