Free Trial

Knowledge Base

Lernen Sie von den Profis.

Full Outer Join und was ich bei gleichen Spaltennamen beachten muss

DavidSta
Alteryx
Alteryx
Erstellt

Das Join Tool wird verwendet um Daten aus zwei verschiedenen Tabellen anhand eines eindeutigen Identifikators wie einem spezifischen Feld, oder einer Zeilenposition in der Tabelle zusammenzubringen.

 

Dabei werden insgesamt 3 Outputs generiert

L-Ausgang Enthält sämtliche Datensätze aus dem L-Eingang, welche nicht im R-Eingang vorhanden sind.
 
J-Ausgang Eine Schnittmenge der Datensätze aus dem L- und R-Eingang. J.png
R-Ausgang Enthält sämtliche Datensätze aus dem R-Eingang, welche nicht im L-Eingang vorhanden sind. R.png

 

Was ist ein Full Outer Join?

Im Gegensatz zu den 3 existierenden Ausgängen des Join-Tools kann der Full Outer Join nicht nur mithilfe eines einzelnen Ausgangs erstellt werden. Der Full Outer Join enthält sämtliche Datensätze, die aus den L- und R-Eingängen kommen. Somit müssen die 3 Ausgänge L, J und R mithilfe eines Union Tools übereinandergelegt werden.

 

Im folgenden Beispiel wollen wir eine Liste von Autoren und Büchern zusammenbringen

 

FOU Input.png

 

Das Ergebnis soll in folgender Tabelle dargestellt werden, die sowohl sämtliche verfügbare Autoren, als auch sämtliche verfügbaren Bücher enthält, auch wenn für einen Autor kein Buch zugeordnet ist, oder für ein Buch kein Autor.

 

 

AutorID AutorName BuchID BuchName
1 Homer 4 Odyssee
2 Daniel Defoe 3 Robinson Crusoe
3 Johann Wolfgang von Goethe 1 Faust
    2 Effi Briest
4 E. T. A. Hoffmann    

 

Wie geht Alteryx mit einem Full Outer Join um?

Alteryx generiert mithilfe des Join Tools drei im Folgenden dargestellt Ergebnisse L, J und R.

 

FOU Venn.png

 

Durch ein Union Tool werden diese drei Datenströme jetzt zu einem einzigen Zusammengeführt, um die gewünschte Zieltabelle zu erhalten.

FOU WF 1.png

Was muss ich beachten, wenn die Spalten aus beiden Eingängen identische Namen haben?

 

FOU Input identic name.png

 

In der Konfiguration des Join Tool kann man zwar einstellen, wie welche Spalte umbenannt werden soll und welche Spalte angezeigt wird, jedoch findet das ganze nur auf den J-Ausgang Anwendung.

 

FOU Config.png

 

Für die Ausgänge L und R werden immer sämtliche Spalten mit ihren originalen Namen ausgegeben, wie sie in ihren jeweiligen Quellen vorhanden sind.

 

Ändern wir also von unserem Beispiel einmal die Spalten AutorName und BuchName in Name, sodass in beiden Tabelle die Spalte Name steht. Mit dem obigen Workflow erhalten wir folgendes Ergebnis:

 

FOU Wrong Result.png

 

Huch, „Effi Briest“ aus Zeile 5 ist doch aber kein Autor wie die anderen, sondern eigentlich der Titel eines Buchs. Wieso steht es jetzt auf einmal in derselben Spalte wie die Autoren?

 

Die Antwort finden wir wie oben erwähnt im Join Tool.

 

Der L-Ausgang generiert diesen Datensatz:

 

FOU L Out.png

Der R-Ausgang diesen Datensatz:

 

FOU R Out.png

 

Wir sehen, dass es in beiden Datenströmen die Spalte „Name“ gibt. Legt man diese jetzt mithilfe des Union-Tools und der automatischen Konfiguration via Spaltenname übereinander landen die Ergebnisse in der falschen Spalte wenn man sich dessen nicht bewusst ist.

 

Um dem vorzubeugen ist zu empfehlen ein Select Tool an den R-Ausgang anzuschließen und die Benamung noch einmal zusätzlich zum Join Tool durchzuführen. Hieran lässt sich die Zuordnung der Spalten besser erkennen, auch wenn diese Konfiguration innerhalb des Union Tool über eine manuelle Spaltenzuordnung ebenfalls durchgeführt werden könnte.

 

FOU WF 2.png

 

Als Ergebnis erhalten wir jetzt wieder die korrekt zugeordneten Ergebnisse und können unsere Analyse finalisieren.

 

FOU WF 2 Result.png

Mitwirkende
Beschriftungen