am 04-10-2019 12:02 PM
Das Tool „Verknüpfen“ ist mit Sicherheit eines der meistverwendeten Tools in Alteryx; es wird jedoch auch häufig falsch verstanden. Dies gilt umso mehr, wenn neue Benutzer noch nie mit Verknüpfungen in anderen Datenbearbeitungsplattformen gearbeitet haben oder wenn sie große Tabellen verknüpfen und nicht auf die Datensätze in den Feldern achten, über die sie verknüpfen.
Ich möchte daher drei verschiedene Arten besprechen, um zwei Tabellen über ein gemeinsames Feld zu verknüpfen, und auf die zu erwartenden Ergebnisse eingehen.
Der Workflow in diesem Beispiel (an diesen Artikel angehängt) wurde in 10.5 erstellt und enthält die unten gezeigten grafischen Elemente.
1. Fall: Verknüpfen über Felder, die jeweils eindeutige Datensätze enthalten
Dies ist der einfachste und am leichtesten verständliche Fall. In diesem Fall verknüpfen wir über die Felder mit dem Namen „Fruit“ (Obst) in beiden Eingaben. Beim Verknüpfen werden die Einträge in beiden Tabellen aneinander ausgerichtet, wenn die Einträge in den Feldern „Fruit“ (Obst) übereinstimmen.
Die verknüpfte Tabelle (J Output) sollte also wie folgt aussehen:
Sehr überschaubar
2. Fall: Verknüpfen über Felder, von denen nur eines eindeutige Datensätze enthält
In diesem Fall haben wir zwei Einträge für „Banana“ (Banane) in unserer linken Eingabe. Der Eintrag mit „Banana“ (Banane) in der rechten Eingabe ergibt also zwei Übereinstimmungen und wird an beide Einträge aus der linken Eingabe angefügt. Unsere Ausgabe sollte wie folgt aussehen:
3. Fall: Verknüpfen über zwei Felder mit nicht-eindeutigen Datensätzen
Dieser Fall ist etwas komplizierter, aber nach einer grafischen und mathematischen Betrachtung verstehen Sie hoffentlich die Logik und können sich vor unerwünschten Datensätzen schützen.
In diesem Fall haben wir zwei Einträge in „Fruit“ (Obst), die „Banana“ (Banane) in beiden Tabellen enthalten. Hier geschieht dasselbe wie im obigen Fall, allerdings zweimal, da wir zwei Datensätze von der rechten Eingabe haben, die mit zwei Datensätzen aus der linken Eingabe übereinstimmen. Unsere Ausgabe enthält also insgesamt 4 Einträge mit dem Wort „Banana“ (Banane). Die Ausgabe sollte wie folgt aussehen:
Wenn wir uns den 3. Fall und den 2. Fall aus mathematischer Perspektive ansehen, können Sie die Gesamtzahl der Datensätze pro Instanz ermitteln, indem Sie die Anzahlen der Datensätze aus beiden Tabellen miteinander multiplizieren. Da wir im obigen Beispiel nach „Fruit“ (Obst) verknüpfen und den Eintrag für Bananen in beiden Tabellen sehen, können Sie sich den Vorgang vorstellen als 2 Bananen x 2 Bananen = 4 Bananen.
Angenommen, wir fügen in unserer rechten Eingabe eine weitere Zeile hinzu:
Jetzt haben wir 3 x 2 und sollten also 6 Kombinationen von Einträgen mit „Banana“ (Banane) im Feld „Fruit“ (Obst) erhalten.
Falls Sie zwei Tabellen verknüpft haben und mehr Datensätze als erwartet erhalten, dann ist dies die wahrscheinlichste Ursache für Ihr Problem. Diese Beispiele veranschaulichen die gezeigten Anwendungsfälle. Als Best Practice empfehle ich die beiden folgenden Schritte vor dem Verknüpfen von Tabellen:
1.: Überprüfen Sie Ihre Tabellen auf doppelt vorhandene Datensätze.
Im obigen Fall haben wir drei Duplikate aus der rechten Eingabe und können das Tool „Einmalig“ verwenden, um diese Duplikate zu eliminieren.
Wir erhalten exakt dieselbe Ausgabe wie im 2. Fall, da nach dem Tool „Einmalig“ nur noch ein Eintrag mit „Banana“ (Banane) übrig ist.
2.: Überprüfen Sie, ob es sinnvoller wäre, über mehrere Felder zu verknüpfen.
Beispiel: Wir haben Tabelle 1 mit zwei Einträgen, die „Banana“ (Banane) als „Fruit“ (Obst) enthalten und zwei Einträge mit „x“ als „Store ID“ (Geschäfts-ID) und einer „FruitID“ (Obst-ID), die dem Obst entspricht. Tabelle 2 enthält ebenfalls die Felder „Fruit“ (Obst) und „Store ID“ (Geschäfts-ID), sowie ein Feld „Store Employees“ (Geschäftsmitarbeiter), das zusammen mit der „Store ID“ funktioniert.
Tabelle 1 Tabelle 2
Wir möchten alle Daten zusammenführen, um sie in Paaren zusammenfassen zu können. Im Idealfall sollte unsere Verknüpfung nur vier Einträge ergeben, da wir die „Store Employees“ (Geschäftsmitarbeiter) und „FruitID“ (Obst-ID) in einer Tabelle erhalten möchten. Wenn wir jedoch nur über ein gemeinsames Feld verknüpfen, egal ob „Store ID“ (Geschäfts-ID) oder „Fruit“ (Obst), erhalten wir Kombinationen, und die Daten werden nicht korrekt ausgerichtet. Siehe unten.
Verknüpfen nach „Fruit“ (Obst)
In diesem Fall erhalten wir zwei Einträge, wenn unsere Geschäfts-IDs nicht übereinstimmen.
Verknüpfen nach „StoreID“ (Geschäfts-ID)
In diesem Fall erhalten wir zwei Einträge mit nicht übereinstimmenden Obstsorten.
Wir müssen unsere Verknüpfung also so konfigurieren, dass über die Felder „Fruit“ (Obst) und „Store ID“ (Geschäfts-ID) verknüpft wird.
Nach der Ausführung sollte die verknüpfte Tabelle wie folgt aussehen:
Vor dem Verknüpfen über mehrere Felder müssen wir sicherstellen, dass die Datensätze aus beiden Feldern übereinstimmen.
Stellen Sie sich vor, dass die Felder „Fruit“ (Obst) und „Store ID“ (Geschäfts-ID) zusammengeführt werden. Plötzlich haben wir eindeutige Einträge, da wir Banane X und Banane Y als eindeutige Entitäten behandeln und jeden Eintrag mit jedem Eintrag verknüpfen.