Durch die Anordnung im Workflow wird festgelegt, in welcher Reihenfolge einzelne Schritte ausgeführt werden sollen. In diesem Beispiel werden Daten aus einer Datei gelesen, bearbeitet und schließlich wird das Ergebnis in eine Ausgabedatei geschrieben. Allerdings gilt diese Reihenfolge für die einzelnen Datensätze - so werden etwa schon Berechnungen im Formula Tool ausgeführt, während das Input Data Tool noch damit beschäftigt ist, Daten zu importieren. In der Regel ist das auch gar kein Problem.
Was allerdings, wenn die Ausgabedatei am Ende des Workflows per Mail an eine Reihe von Empfängern geschickt werden soll? Das Output Data Tool hat keinen Output Anchor, mit dem man ein EMail Tool verbinden könnte, Kann man vielleicht an das vorhergehende Tool gleich noch den Mailversand anhängen? Also etwa so?
Kann man natürlich machen - funktioniert dann allerdings nicht (um genau zu sein: es funktioniert manchmal "zufällig", nämlich genau dann, wenn das Output Data Tool den Schreibvorgang komplett abgeschlossen hat, bevor das EMail Tool die Datei in den Anhang packt). Das ist also keine Lösung.
Hier hilft das Block Until Done Tool. Es hat einen Input Anchor und drei numerierte Output Anchor, die nacheinander abgearbeitet werden, d.h. die Tools, die mit Output Anchor 1 verbunden sind, werden bis zum Ende ausgeführt, erst dann folgen die Tools nach Output Anchor 2, schließlich die nach Output Anchor 3.
In unserem Beispiel fügen wir also in Block Until Done Tool ein, verbinden das Output Data Tool mit Output Anchor 1 und das EMail Tool mit Outout Anchor 2. So wird zuerst die Datei geschrieben, dann wird die erstellte Datei als Anhang der Mail hinzugefügt. Der Fall, dass die Datei noch nicht wieder geschlossen ist, weil der Schreibvorgang noch läuft, und deshalb nicht verschickt werden kann, tritt so nicht auf.
Es gibt eine Vielzahl von Anwendungsfällen, bei denen das Tool helfen kann. Wollen wir beispielsweise Daten zuerst je Niederlassung in eine Excel-Datei schreiben (Tke File/Table Name From Field) und der Datei dann noch ein Summenblatt hinzufügen, kann es sehr leicht zu einer "Konkurrenz" der beiden Output-Tools kommen, die hier benötigt werden. Mit dem Block Until Done Tool lösen wir diese Konkurrenz auf - jetzt wird einfach zuerst Schritt 1 ausgeführt (einzelne Niederlassungen), wenn dieser Schritt abgeschlossen ist, folgt dann Schritt 2 (Summenblatt).
Manchmal wird es aber komplexer - wir kommen mit drei aufeinander folgenden Schritten nicht mehr aus. In diesem Fall können wir auch "kaskadieren", d.h. Block Until Done Tools verknüpfen.
Hier haben wir etwa an Output Anchor 1 ein weiteres Block Until Done Tool mit drei Folgeaktivitäten angehängt. Diese drei werden nun in der richtigen Reihenfolge ausgeführt, dann erst kommt Output Anchor 2 an die Reihe - und so weiter. Damit sollte sich vermutlich der größte Teil solcher Reihenfolgenprobleme erledigen lassen.
Mitunter aber sind zwei voneinander unabhängige Block Until Done Tools in einem Workflow erforderlich. In welcher Reihenfolge werden die nun ausgeführt?
Klar ist -innerhalb der einzelnen Tools gilt die Reihenfolge, die der Output Anchor angibt.
Zwischen den beiden Tools aber gilt die Reihenfolge, die sich aus der ToolId ergibt - das Block Until Done Tool mit der niederigeren ID wird zuerst ausgeführt!
Also - auch komplexe Abläufe lassen sich mit Alteryx abbilden, das Block Until Done Tool kann dabei in vielen Fällen helfen.
Weitere Tipps Tuesday Beiträge
Dieser Eintrag ist Teil der Tipps Tuesday-Serie, alle Einträge dieser Serie findest du in unserem Index aufgelistet.
Sie müssen ein registrierter Benutzer sein, um hier einen Kommentar hinzuzufügen. Wenn Sie sich bereits registriert haben, melden Sie sich bitte an. Wenn Sie sich noch nicht registriert haben, führen Sie bitte eine Registrierung durch und melden Sie sich an.