Die Daseinsberechtigung des Batch Makros

by Viktoria Von Laer

In meinem letzten Blog habe ich mich bemüht, die Grundfunktionalitäten von Batch Makros darzustellen, weil ich selbst mit dem Verständnis gehadert habe; Gegen Ende habe ich jedoch damit geschlossen, dass das gegebene Beispiel ( was ein sehr gängiges Beispiel ist ), auch zu Verwirrung führen könne, da man sich zu Recht fragen kann, warum man überhaupt ein Batch Makro verwenden soll und nicht etwa ein Join Tool. Da ich mich das ebenfalls gefragt habe, als ich versucht habe, Batch Makros zu verstehen, will ich an dieser Stelle ein Beispiel (Alteryx Challenge 53)  erläutern, dass die Daseinsberechtigung eines Batchmakros vollends legitimiert.

Wir haben es mit einem Datensatz zu tun, bei dem alle Spalten in nur eine Spalte geschrieben sind; Dass Inhalte in einer neuen Spalte stehen, wird durch ein | verdeutlicht:

Unsere Aufgabe ist es, aus dieser einen Spalte einen ansehnlicheren Datensatz zu produzieren. Das Problem ist nur, dass wir diese Umwandlung für verschiedene Datensätze vornehmen sollen, wobei die Datensätze mitunter unterschiedlich viele Spalten in eine Spalte gepackt haben. Mal kann der originale Datensatz in neun, mal in zehn, mal in fünf usw. Spalten umgewandelt werden müssen; Wir müssen also die Zahl der Spalten, die wir ausgeben wollen, updaten, je nachdem, wie viele in dem eingehenden Datensatz zu finden sind.

Der eigentliche Workflow, also der, mit dem wir die eine Spalte in die benötigten umwandeln, ist überschaubar:

Updaten wollen wir das Text to Columns Tool, und zwar die Anzahl der Columns, die ausgegeben werden sollen.

Also bringen wir ein Control Parameter auf die Canvas, der über ein Action Tool mit dem Text to Columns verbunden ist, so dass der Wert upgedated werden kann ( wir haben in dem Text to Columns Tool den Wert 10 als Placeholder angegeben):

Nun müssen wir noch in dem Workflow, in der wir den Batch Workflow nutzen, die richtigen Einstellungen vornehmen. Wieder brauchen wir einen Datensatz, den wir über das umgedrehte Fragezeichen in den Control Parameter einspeisen. Dazu können wir die Spalten, die wir ausgeben müssen berechnen; wir nutzen hier ein Formula Tool mit "REGEX_CountMatches" um die Anzahl der | in jeder Zeile zu zählen. Mit dem Summarize Tool extrahieren wir das Ergebnis aus der ersten Zeile:

Das Ergebnis speisen wir in den Control-Parameter Zugang ein. Die eigentlichen Daten speisen wir in den anderen Zugang ein.

An dieser Stelle brauchen wir bei „Group By“ nichts anzugeben, da wir keine verschiedenen Gruppen haben, die wir unterschiedlich behandeln wollen. Wir suchen lediglich das Feld aus, das wir an den Control Parameter übergeben wollen.

Bei diesem Beispiel haben wir es nicht eigentlich mit Batches zu tun- das Batch Makro gibt uns aber die Möglichkeit, ein Tool je nach Notwendigkeit upzudaten. Dadurch wird auch die Nähe zu einer App deutlich: es geht immer darum, etwas upzudaten- bei einer App ist es der User, der etwas updated, bei einem Batch Makro geschieht das Update entsprechend bestimmter Informationen. Diese sind entweder irgendwo festgeschrieben ( wie im ersten Beispiel )- das Makro ähnelt dann einem Join, oder sie werden dynamisch erzeugt, wie in diesem Beispiel.