Batch Makro in Alteryx

by Viktoria Von Laer

Als wir die Makros in Alteryx gelernt haben, waren das Standard Makro und das Iterative recht schnell verständlich; das Batch Makro dagegen war schwieriger zu greifen; und bis jetzt geht es mir immer noch so, dass ich mich etwas unsicher fühle, wenn es um Batch Makros geht. Deshalb im Folgenden eine Erklärung, die hoffentlich das Dunkel des Batch Makros etwas lichtet 😉.

Batch bedeutet im Deutschen Charge, Stapel oder Ladung und diese Bedeutungen erklären ein Batch Makro recht gut: es geht darum, eine Unter-Charge von Daten ( also de facto eine bestimmte Anzahl von Zeilen von der Gesamt-Datenmenge ) auf eine bestimmte andere Weise zu behandeln als die anderen Chargen. Man könnte auch gut das Wort Zeilenpakete verwenden- in einem Batch Makro werden bestimmte Zeilenpakete unterschiedlich behandelt.

Hat man bspw. folgendes Datenset:

Mitarbeiter:innengruppe

Gehalt

A

3,400

A

3,500

B

2,500

B

2,600

C

7,000

und man möchte einen Prozentsatz von diesem Gehalt berechnen entsprechend dem Gehalt, das gezahlt wird ( 2% von einem Gehalt zw. 2000-3000, 3% von einem Gehalt zw. 3000-4000, 7% bei einem Gehalt zw. 7000-8000 ) kann man dafür ein Batch Makro benutzen.

Daraus folgt schon, das ein Batch Makro zwei Zugänge hat: Über den einen werden die eigentlichen Daten, über den anderen, den Batch-Zugang, werden die Informationen, wie mit welchem Datensatz umzugehen ist, verbunden:

Wir sehen in dem Bild die zwei Makro Zugänge; der mit dem umgedrehten Fragezeichen ist der Batch-Zugang, über den wir die Informationen, wie mit unseren einzelnen Datensätzen verfahren werden soll, einspeisen.

Im Makro selbst gibt es ein essentielles Tool, das das Batch Makro zum Batch Makro macht: das Interface Tool „Control Parameter“:

Über ->View->Interface Designer lässt sich unter Makro „Batch Makro“ auswählen; wenn der Control Parameter allerdings auf die Canvas gebracht wird, ändert sich das Makro automatisch zum Batch Makro.

Aus dem Control Parameter folgt ein Batch Makro; Und kein Batch Makro ohne Control Paramter!

Warum das nicht möglich ist? Eben weil wir die verschiedenen Batches, die verschiedenen Zeilenpakete, unterschiedlich behandeln wollen; Und das tun wir, indem wir in unserem Batch-Makro selbst einen Placeholder updaten. Schauen wir uns das Makro an, um es besser zu verstehen:

Wir sehen auf dem Bild unseren Datensatz und ein Formula Tool, dass die 3% berechnet; wir müssen jetzt also überlegen, wie wir die 3% updaten, damit wir bei den verschiedenen Gehältern die unterschiedlichen Prozente berechnen.

Hier kommt unser Control Parameter ins Spiel. Der Control Parameter sollte immer über ein Action Tool mit dem Tool verbunden sein, in dem etwas upgedated werden soll (der Vollständigkeit halber soll hier erwähnt werden, dass ein Action Tool zwar nicht zwingend notwendig, aber sehr sinnvoll ist).

Über das Action Tool kann man- genau wie in einer App- bestimmte Dinge updaten; in unserem Fall wollen wir die 0.03 in unserem Formula Tool updaten und mit dem jeweiligen Prozentsatz ersetzen:

Konfigurieren des Makro Tools

Was wir in den Control Parameter geben wollen, muss über das umgedrehte Fragezeichen verbunden werden, die eigentlichen Datensätze über den anderen Zugang.

In der Konfiguration des Makro Tools müssen wir nun die richtigen Einstellungen vornehmen. Unter „Questions“  und „Choose Field"  müssen wir die Felder unseres Datensatzes des Makro Input Tools und die unseres Input Tools verknüpfen, und unter „Questions“  und „Choose Field: Control Parameter"  müssen wir angeben, mit welchen Daten unser Tool denn nun eigentlich upgedated werden soll:

Lassen wir unseren Workflow so laufen, bekommen wir als Ergebnis 18 Zeilen (siehe Bild), denn jedes Gehalt wird mit jeder Prozentzahl multipliziert- mit dieser Einstellung fungiert unser Makro Workflow wie das Append Fields Tool. Wir müssen zusätzlich unter -> „Group By“ die Felder aus beiden Input Tools verknüpfen:

Jetzt fungiert unser Makro wie ein Join Tool und wir erhalten die gewünschten Ergebnisse.

Anhand obigen Ausführungen sollten die Grundfunktionen des Batch Makros erklärt werden; Wer sich jetzt fragt, warum ich in so einem Fall ein Batch Makro anstatt eines Join Tools benutzen sollte, fragt zu Recht! Nachdem ich dachte, ich hätte das Batch Makro im Prinzip verstanden, habe ich seine Daseinsberechtigung hinterfragt, denn wenn ich genauso gut ein Join Tool benutzen kann- worin besteht sie? Aber wie gesagt soll hier nur die grundlegende Funktionalität erklärt werden- ein Beispiel, wo das Batch Makro sich selbst als sehr viel notwendiger präsentiert, beschreibe ich in meinem nächsten Blog 😉