Free Trial

Blog - Deutsch

Erkenntnisse und Ideen von den besten Analytics-Experten.
RolandSchubert
16 - Nebula
16 - Nebula

Manchmal ist die Entscheidung ganz schön schwierig - wähle ich für den nächsten Schritt ein Tool, das für genau diese Aufgabe geeignet ist, oder benutze ich eins der Formula Tools und die entsprechende Funktion? Wann sollte man sich für welchen Ansatz entscheiden?  Und welche Vorteile haben die verschiedenenen Möglichkeiten im jeweiligen Fall?

 

Schauen wir uns einfach mal ein paar Beispiele und die entsprechenden Lösungsalternativen an.

 

 

Fall 1: Datum in Datentyp "DATE" umwandeln

 

Eigentlich klar, dass genau das mein erstes Beispiel sein würde. Es ist ja auch eine verbreitete Problemstellung - wir bekommen eine Datei und das angelieferte Datum hat natürlich nicht das richtige Format. Wir müssen aber mit dem Datum rechnen, also etwa die Anzahl Tage bis zu einem Fälligkeitsdatum ermitteln; das bedeutet, wir müssen es in den Alteryx-Datentyp "Date" umwandeln. Kein Problem, dafür gibt es doch das DateTime Tool. Aber es gibt natürlich auch die DateTimeParse-Funktion, die wir hier verwenden können.

 

Falls wir uns für die Tool-Variante entscheiden, ziehen wir einfach das DateTime Tool auf den Canvas, wählen "String to Date/Time format", wählen das entsprechende Format und sind fertig. Im anderen Fall nehmen wir das Formula Tool, wählen "Add Column" und den Data Type "Date", geben dem neuen Feld einen Namen und tragen die DateTimeParse-Formel ein. Vermutlich etwas mehr Tipparbeit oder ein paar zusätzliche Mausklicks - aber überschaubar. 

 

 

P01.jpg

 

Wenig überraschend - beide Varianten liefern das gleiche Ergebnis. Das hilft schon mal nicht bei der Entscheidung. Wenn das Datum in unterschiedlichen Formaten geliefert würde (mal ein "." als Trennzeichen, mal ein "-" oder auch ein "/"), dann wäre es einfach - das können wir mit der Formel über entsprechende Bedingungen (z.B. IF CONTAINS([Datum], '/') THEN ...) lösen, wenn wir beim Tool bleiben wollen, müssten wir die Trennzeichen noch über zusätzliche Filter Tools unterscheiden - da wäre die Formel deutlich einfacher. Aber so?

 

Bei zwei auf dfen ersten Blick gleichwertigen Lösungen bietet es sich natürlich an, einen Blick auf die Performance zu werfen. Und da gibt es durchaus Unterschiede:

 

P02.jpg 

 

Das DateTime Tool benötigt etwa die vierfache Zeit, die Formel ist also deutlich schneller! Die Formel hat hier also nicht nur den Vorteil der größeren Flexibilität (z.B. unterschiedliche Trennzeichen), sondern auch die Performance ist besser. 

 

Aktueller Spielstand: 1:0 für die Formel!

 

 

 

Fall 2: NULL in numerischen Feldern durch 0 ersetzen

 

Ein weiteres Problem, das uns häufig begegnet, ist die Bereinigung von Daten. Einen ganz einfachen Fall  haben wir im folgenden Beispiel vor uns: eine Tabelle mit 1000 Zeien und 12 Spalten enthält eine Reihe von unerwünschten NULL-Werten in numerischen Feldern. Spontane Eingebung: Da hilft das Data Cleansing Tool. Einfach die Felder auswählen, bei "Replace Nulls" die Option "Replace with 0 (Numeric Fields)" wählen - fertig. Aber heißt es nicht immer, das Data Cleansing Tool ist so langsam? Da gibt es doch bestimmt auch eine Alternative! Richtig, die gibt es. In diesem Fall können wir das Multi-Field Formula Tool nutzen, alle numerischen Felder wählen und die NULL-Werter eliminieren (ToNumber auch ein Double-Feld loszulassen mag zwar etwas seltsam wirken, erledigt aber genau diese Ersetzung für uns).

 

P03.jpg

 

Auch diesmal können wir erleichtert feststellen, dass beide Varianten das gleiche Ergebnis liefern. Für die Formel würde erneut die größere Flexibilität sprechen (wieder kann man über Bedingungen sehr spezifisch auf die konkreten Anforderungen reagieren), für das Data Cleansing Tool spricht auf jeden Fall die einfachere Bedienung. Also - schauen wir mal auf die Performance.

 

P04.jpg

 

Wie leicht zu erkennen ist - das Data Cleansing Tool wird seinem schlechten Ruf gerecht, diesmal ist der Faktor nicht 4, sondern 16.  Bei tausend Datensätzen fällt das noch nicht so ins Gewicht, bei zehn Millionen hingegen schon ...

 

Natürlich, das Data Cleansing Tool kann noch eine ganze Menge mehr, und natürlich, dieser "Overhead" kostet Zeit, es wird halt nur ein kleiner Teil der Optionen ausgeschöpft.  

 

Angesichts des Zeitunterschieds - aktueller Spielstand: 2:0 für die Formel!

 

 

 

Fall 3: Spatial 

 

An Spatial werden wohl nur wenige denken, wenn es um Formeln/Funktionen geht - da ist die Entscheidung für die Tools meistens schon gefallen. Aber schauen wir uns auch das mal an.  Ein häufiger Anwendungsfall ist es da, aus Koordinaten die entsprechenden Punkte (= Spatial Objects) zu erzeugen. Mit dem Create Points Tool ganz einfach - notwendig ist nur die Zuordnung der Felder zu Latitude und Longitude. Bei der Formel muss wieder das Feld angelegt/definiert werden, außerdem müssen die Parameter in die Funktion eingesetzt werden. Besonders schwierig ist das aber auch nicht.

 

P05.jpg

 

 

Beide Versionen liefern das gewohnt gleiche Ergebnis - aber diesmal überrascht uns das Ergebnis des Performancetests.

 

P06.jpg 

 

Das Tool ist schneller - also kann man schon mal nicht pauschal sagen, dass der Performancevorteil immer auf Seiten der Formel liegt! Für die Spatial Tools scheint das übrigens typisch zu sein, auch in anderen Fällen ist die Funktion deutlich langsamer.

 

 Nach drei Vergleichen steht es also nur noch 2:1. 

 

 

Und was bedeutet das nun?

 

Insgesamt muss man sagen, dass es keine klare Entscheidung gibt, wenn man zwischen Tool und Formel zu wählen hat. In einigen Fällen ist die Formel die "zielgerichtetere" Variante - sie macht genau das, was gebraucht wird, während das Tool noch viel mehr könnte (was wir aber im konkreten Fall nicht brauchen).

 

Die Performance liegt - das Data Cleansing Tool mal ausgenommen - nicht unbedingt so weit auseinander, dass sie als einziges Entscheidungskriterium herangezogen werden sollte, aber in manchen Fällen können sich schon nennenswerte Vorteile erzielen lassen.

 

Flexibilität ist ein weiterer Vorteil der Formel; über Bedingungen lässt sich exakt steuern, was passieren soll - das ist mit einem Tool nicht so einfach zu lösen. Auch die Verbindung mehrerer Schritte ist in einem Formula Tool einfach möglich - zuerst das Datum in zwei Feldern in den richtigen Datentyp umwandeln, dann die Differenz berechnen, vielleicht noch Wochenenden eliminieren und die Anzahl Arbeitstage ermitteln, all diese Schritte können mit mehreren Formeln, aber in einem Tool ausgeführt werden. 

 

In dieser Zusammenfassung von Schritten liegt durchaus auch ein Problem - sie kann die Lesbarkeit des Workflows massiv beeinträchtigen. Wie gerade beschrieben kann man eine Vielzahl von Schritten in ein einziges Formula Tool packen - aber wer versteht das dann noch? Einer der großen Vorteile von Alteryx ist doch gerade die Nachvollziehbarkeit der Workflows, und die geben wir ein Stück weit auf, wenn wir ein Tool  (oder auch mehrere) durch eine Formel ersetzen. Wenn ich einen Workflow auch benutzen möchte, um den Fluss der Daten zu erklären, ist ein Tool fast immer die bessere, transparentere Lösung.

 

Natürlich ist eine Formel oftmals der sinnvollere Weg, wenn es um Performance geht - aber bei so viel eingesparter Zeit sollte ein Kommentar am Tool oder auch in der Formel selbst doch möglich sein!  

 

 

 

Weitere Tipps Tuesday Beiträge

Dieser Eintrag ist Teil der Tipps Tuesday-Serie, alle Einträge dieser Serie findest du in unserem Index aufgelistet.

Beschriftungen