Batch Makros
In Teil 2 unserer Serie zu Makros in Alterys geht es um Batch Makros. Ein Batch Makro wird verwendet, wenn Sie Ihre Daten paketweise verarbeiten wollen. Dabei wird ein Prozess mehrere Male in Iterationen durchgeführt, wobei ein Parameter variabel gehalten wird. Das kennen Sie aus anderen Programmen mit einem „for each“-Befehl oder dem Stichwort „Loop“. Je nach Einstellung werden die Daten pro Iteration dabei Zeile für Zeile durch das Makro geschleust oder nach definierten Gruppen. Dies wird über das Tool „Control Parameter“ gesteuert. Wie Sie dieses Tool konfigurieren können, betrachten wir unten.
Alteryx kann nicht nur Dateien einlesen, sondern auch Informationen von Websites herunterladen, sofern die Daten in geeigneter Struktur vorliegen. In unserem Beispiel betrachten wir die Kinocharts auf der Website www.charts.de/kino-charts, die im HTML Format vorliegen. Auf der Startseite wird die aktuelle Kalenderwoche angezeigt, aber wir haben auch die Möglichkeit, die Charts der vorherigen Wochen abzufragen.
So sieht der Workflow aus, wenn wir die Charts für die Kalenderwoche 09-2019herunterladen. In das Textinput Tool wird die URL eingegeben, die die Information enthält, welche Kalenderwoche abgefragt werden soll.
Das Download Tool gibt uns den gesamten HTML-Code der Website in einer einzelnen Zelle aus, wie hier zu sehen ist unter „DownloadData“.
Damit wir die benötigten Informationen herausfiltern können, benötigen wir das Tool „Text To Columns“. Hier wählen wir die Option „Split to rows“ aus und können dann die Zeilen herausfiltern, die die Filmtitel enthalten. Hier gibt uns der HTML Code die benötigten Zeilen vor, da diese mit „class=“info1-span!>“ beginnen. In den folgenden Schritten bereiten wir die Daten auf.
Da wir aber nicht nur eine einzelne Woche abrufen wollen, müssen wir genau den Teil der URL, der die Woche angibt, variieren. Dies gelingt uns mithilfe eines Batch Makros.
Im ersten Schritt fügen wir ein Control Parameter Tool und ein Action Tool in den Workflow ein und verbinden diese mit dem Textinput Tool. Der Workflow wird dadurch automatisch in ein Makro umgewandelt und es erscheinen Blitze über den Tools, zu denen man die Interface Tools verbinden kann.
Das Action Tool wird wie folgt konfiguriert:
In der unteren Zeile wird eingestellt, welcher spezifische Teil der URL verändert werden soll. Hätten wir das Häkchen nicht gesetzt, würde die komplette URL durch den Control Parameter verändert werden. Die Informationen, welche Strings hier verwendet werden sollen, werden dann im Workflow, in dem dieses Makro verwendet wird, eingespeist.
Hier sehen wir den Workflow, in dem das Makro verwendet wird. Im Textinput befindet sich die Liste der Kalenderwochen, die wir abfragen möchten.
Für das Makro müssen wir konfigurieren, welches Feld für den Control Parameter verwendet werden soll.
Nun wird jede Zeile aus diesem Feld einzeln durch das Makro fließen. Der generierte Output pro Iteration wird anschließend untereinander gefügt. Dadurch erhalten wir einen Datensatz mit allen Kalenderwochen der Kinocharts. Deshalb ist wichtig zu beachten, dass Batch Makros nur funktionieren, wenn das Outputschema jeder Iteration gleichbleibt.
Mehr zu Makros in Alteryx erfahren Sie in Teil 3 der Serie nächsten Monat!
Der folgende Link führt zur Alteryx Gallery, in der Sie die Möglichkeit haben kostenlos Workflows, Macros und Analytische Apps herunterzuladen.
Hier geht es zur Alteryx Gallery