Free Trial

Forum - Deutsch

Suchen Sie nach Antworten, stellen Sie Fragen und teilen Sie Ihr Alteryx-Wissen.
GELÖST

joinen mit Bereichen

akku
Bolide

Hallo,

 

ich möchte meine Daten um eine weitere Information anreichern.

Es gibt eine Spalte "Stellplatz" (hier sind Werte von 1 - 9999999 möglich).

Je nach Wert des Stellplatzes soll in einer zusätzlichen Spalte der Bereich ausgegeben werden.

 

Die Information für den Bereich kommt aus einer zusätzlichen Datenquelle.

Dort ist aber nicht jeder mögliche Stellplatz aufgelistet, sondern nach Wertebereichen gruppiert. 

- Spalte 1:  Ort

- Spalte 2: von Stellplatz

- Spalte 3: bis Stellplatz

- Spalte 4: Bereich

 

Joinen könnte ich über den Ort.

Allerdings werden dadurch ja die Daten vervielfältigt.

 

Wie kann ich hier vorgehen?

Ich könnte mir Vorstellen, dass das join tool nicht die richtige Wahl ist.

 

Ein Bespiel hänge ich an.

4 ANTWORTEN 4
grossal
15 - Aurora
15 - Aurora

Hi @akku,

 

aus meiner Sicht gibt es mehrere Optionen, was die beste davon ist, hängt auch von deinen echten Daten ab.

 

Variante 1: Zeilen der Hilfstabelle erstellen

 

Mit einem Zeilen generieren (Generate Rows)-Tool könntest du jeweils die Zeile basierend auf "Stellplatz von" und "Stellplatz bis" erstellen, so dass das Verknüpfen (Join) dann eindeutig ist. 

grossal_0-1608636385952.png

 

grossal_1-1608636409978.png

 

 

Variante 2: Filtern nach dem Verknüpfen (Join)

Als weitere Option gibt es natürlich die Möglichkeit (wie du bereits erkannt hast) die Daten mit dem Verknüpfen (Join)-Tool duplizieren zu lassen und danach zu filtern.

 

grossal_2-1608636578015.png

 

grossal_3-1608636587849.png

 

Die große Frage aus meiner Sicht ist: Wie genau sind deine Daten aufgebaut. Auf den ersten Blick mag es relativ langwierig sein alle Zeilen mit Variante 1 zu generieren, aber je nachdem wie groß deine Daten in Satz 1 sind und wie viele "Duplikate" generiert werden würden, macht es sicher Sinn darüber nachzudenken ob es nicht die bessere Option ist. 

 

In deinem minimalen Beispiel gewinnt von der Performance klar die Variante 2 mit ca. 0.7 vs Variante 1 mit 4.9 Sekunden ohne AMP und 2.1 Sekunden mit AMP-Engine.

 

Man könnte auch noch andere Varianten in Erwägung ziehen wie bspw. das Konkatenieren alle Zeilen pro Ort aus Tabelle zwei und diese dann per Suchen Ersetzen (Find Replace) anzuhängen, dadurch könnte man sie ohne Duplikate verknüpfen (joinen). Jedoch würde die Logik dahinter dann deutlich komplexer werden und vermutlich gewinnt man dadurch auch nicht viel.

 

 

Viele Grüße

Alex

 

akku
Bolide

Hallo Alex,

 

danke für die schnelle Hilfe.

Ich habe beide Varianten ausprobiert und werde Variante 2 für mich verwenden.

 

In Variante 1 habe ich aber ein für mich neues tool (generate rows) kennengelernt, was ja auch ein Erfolg ist.

Der Geschwindigkeitsnachteil kommt  m.E. daher, dass erstmal 9.999.999 Zeilen erzeugt werden müssen, die dann abgeprüft werden.

 

Viele Grüße

Matthias

grossal
15 - Aurora
15 - Aurora

Hi Matthias,

 

sofern die Datenmengen in überschaubaren Größenordnungen bleiben, ist das denke ich sowieso 'Kopf wie gsprungen'. Ich hatte letztens nur mal den Fall bei dem hinter dem Verknüpfen (Join) dann Datenmengen im 2-3 stelligen Milliarden-Bereich rauskamen und dann überlegt man doch noch ein zweites Mal, ob und wie das ggf. anders auch gehen könnte. Ansonsten denke ich persönlich aber auch nicht wirklich darüber nach welche Lösung mir ein paar Sekunden sparen könnte.

 

Viele Grüße und eine schöne Weihnachtszeit!

Alex

StephV
Alteryx Alumni (Retired)

Hallo @akku

 

es freut mich zu sehen, dass die deutsche Community Ihnen helfen konnte.

 

Vielen Dank, dass Sie die Antwort von @grossal als Lösung akzeptiert haben.

 

Ein frohes neues Jahr!

Steph Vitale-Havreng
Beschriftungen