Skip to main content

Control Container Tool Icon Steuerelement-Container-Tool

One-Tool-Beispiel

Für das Steuerelement-Container-Tool gibt es ein One-Tool-Beispiel. Unter Beispiel-Workflows erfahren Sie, wie Sie dieses und viele weitere Beispiele direkt in Alteryx Designer aufrufen können.

control-container-example-image.png

Verwenden Sie Steuerelement-Container, um die Reihenfolge zu verwalten, in der Tools in Ihrem Workflow ausgeführt werden, und sicherzustellen, dass die Schritte in Ihrem Prozess in der richtigen Reihenfolge ausgeführt werden. Mit Steuerelement-Containern können Sie Informationen zu den ausgeführten Tools entweder als Protokollinformationen oder als Daten für Ihren Workflow verwenden. Auf diese Weise können Sie dynamischere und komplexere Prozesse basierend auf diesen Ausführungsinformationen erstellen.

Darüber hinaus können Sie mit Steuerelement-Containern bestimmte Logikblöcke bedingt ausführen, die auf Daten aus Ihrem Workflow basieren, sei es aus einem anderen Steuerelement-Container oder aus anderen Tools in Ihrem Workflow. Sie müssen keine komplizierte bedingte Orchestrierung über Umleitungen, verkettete Apps und Runner-Tools erstellen.

Nur AMP

Das Steuerelement-Container-Tool ist nur mit Alteryx Multi-threaded Processing (AMP) kompatibel. Wenn Sie versuchen, das Tool in einem Workflow auszuführen, in dem AMP deaktiviert ist, zeigt das Tool einen Fehler an.

Tool-Komponenten

Der Steuerelement-Container verfügt über zwei Anker: die optionale Steuereingabe und die Protokollausgabe.

control-container-anchors.png

Steuereingabe (optional)

Steuerelement-Container verfügen über einen optionalen Eingabeanker. Verwenden Sie diese Eingabe, um den Container zu aktivieren.

control-container-input-anchor.png
  • Wenn die Steuereingabe keine Verbindung hat, gilt der Container als aktiviert. In diesem Fall verhält sich der Steuerelement-Container wie ein Tool-Behälter, mit der Ausnahme, dass er Meldungen über die darin abgeschlossenen Aktionen aus dem Protokollausgabeanker ausgibt.

  • Hat die Steuereingabe eine Verbindung, wird der Container aktiviert, wenn die Verbindung mit mindestens einem Eingabedatensatz* geschlossen wird. Die Metadaten und Inhalte des Datenstroms spielen keine Rolle. Es ist nur wichtig, dass mindestens ein Datensatz vorhanden ist.

Wichtig

*Während ein Datensatz benötigt wird, um einen Steuerelement-Container zu aktivieren, führt der Container die darin enthaltenen Tools erst aus, wenn alle Datensätze den Steuereingabeanker durchlaufen haben. Wenn Sie also 1000 Datensätze an Ihren Steuerelement-Container übertragen, führt der Container keine darin enthaltenen Tools aus, bis er alle 1000 Datensätze erhält.

Protokollausgabe

Die Protokollausgabe erzeugt alle benutzerseitigen Protokollmeldungen nur für die Tools im Container (einschließlich anderer Container innerhalb des Containers). Sie können diese Meldungsdaten wie jeden anderen Datenstrom in Designer verwenden. Sie können diese Protokollinformationen zum Beispiel in eine Datei schreiben oder sie parsen, um damit weitere logische Funktionen auszuführen.

Anmerkung

Beachten Sie, dass die einzigen Meldungen, die in den Steuerelement-Container-Daten angezeigt werden, die Meldungen sind, die ansonsten über das Ergebnisraster angezeigt werden. Aus diesem Grund erzeugen Tools, die keine Meldungen über das Ergebnisraster erzeugen, auch keine Meldungen über Steuerelement-Container.

Sie können immer ein Meldung-Tool verwenden, um Meldungen für Tools zu erstellen und anzupassen, die keine eigenen Meldungen generieren.

control-container-output-anchor.png
  • Der Steuerelement-Container protokolliert eine Infomeldung, wenn er aktiviert wird: „Steuerelement-Container aktiviert“.

  • Der Container protokolliert dann eine weitere Infomeldung, wenn er alle enthaltenen Tools verarbeitet: „Steuerelement-Container abgeschlossen“.

  • Der Container schließt dann den Protokollausgabe-Anker. Beachten Sie, dass der Container möglicherweise Meldungen sendet, bevor alle darin enthaltenen Tools ausgeführt werden. Weitere Informationen finden Sie im Abschnitt Wichtige Überlegungen zur Ausführungsreihenfolge.

Das bedeutet, dass alle Datenströme aus dem Container bereits geschlossen wurden und dass Sie garantiert zwei Meldungen aus jeder Protokollausgabe erhalten, wenn der Container aktiviert wurde. Wenn der Container deaktiviert ist, schließt er die Protokollausgabe, ohne Meldungen zu senden.

This image shows an example of a Control Container's log messages in the Results window.

Wie funktionieren Steuerelement-Container?

Bitte beachten Sie, dass sich der Steuerelement-Container ganz anders verhält als der Tool-Behälter. Anhand eines booleschen Szenarios (true/false) wird ermittelt, ob ein Datenstrom mit dem optionalen Steuereingabe-Anker verknüpft ist und ob ein eingehender Datenstrom vorhanden ist bzw. ob dieser Datenstrom Datensätze enthält.

  • Wenn kein eingehender Datenstrom vorhanden ist, verhält sich der Steuerelement-Container wie ein Tool-Behälter, mit der Ausnahme, dass er Meldungen über die Aktionen ausgibt, die innerhalb des Datenstroms ausgeführt werden. Die Meldungen weisen das gleiche Verhalten auf wie Meldungen, die Sie normalerweise im Ergebnisfenster finden.

  • Wenn ein eingehender Datenstrom mit dem Steuereingabe-Anker verknüpft ist, prüft der Steuerelement-Container, ob die Tools im Container ausgeführt werden sollen. Dies basiert darauf, ob mindestens ein Datensatz empfangen wird, wenn die Eingabeverbindung geschlossen wird.

    • Wenn er einen Datensatz empfängt, wird der Container aktiviert, sobald die Verbindung beendet wird – sobald alle Datensätze die Eingabe durchlaufen haben.

    • Wenn die Steuereingabe keine Datensätze empfängt, überträgt der Container nur zwischengespeicherte Metadaten an die Ausgabe weiter. Er gibt keine Meldungen weiter und führt keine Tools darin aus.

Deaktivierter Steuerelement-Container und inaktiver Steuerelement-Container im Vergleich

Es ist wichtig, das unterschiedliche Verhalten zwischen einem deaktivierten Steuerelement-Container und einem aktivierten (aber inaktiven) Steuerelement-Container zu verstehen.

  • Wenn Sie einen Steuerelement-Container deaktivieren, ignoriert Designer den Container (sowie alle darin enthaltenen Tools). Außerdem werden keine Konfigurationsfehler für den Container oder die darin enthaltenen Werkzeuge gemeldet.

  • Ist der Steuerelement-Container hingegen aktiviert, erfährt Designer erst, ob der Container aktiviert werden soll, wenn Sie den Workflow ausführen und der Eingabeanker des Containers Datensätze entweder empfängt oder nicht empfängt.

    Designer muss bei Ausführung des Workflows alle Überprüfungen zur Vorbeugung des Workflows ausführen. Bei dieser Vorabprüfung werden in Steuerelement-Containern Fehler generiert, wenn enthaltene Tools nicht korrekt konfiguriert sind – unabhängig davon, ob dieser Container schließlich über seine Eingangsanker-Empfangsdatensätze aktiviert wird. Um dies zu vermeiden, stellen Sie sicher, dass alle Tools in einem Steuerelement-Container korrekt konfiguriert sind, auch wenn der Container nicht als Teil des Workflows aktiviert wird.

Wichtige Überlegungen zur Ausführungsreihenfolge

In einigen Szenarien können Tools in Steuerelement-Containern Daten außerhalb des Containers senden, bevor alle Tools innerhalb des Containers die Ausführung abgeschlossen haben – das heißt: bevor der Container Daten über seinen Protokollausgabe-Anker sendet. Dies kann passieren, wenn Tools im Container direkt mit Tools außerhalb verbunden werden.

Um zu verstehen, warum dies geschehen kann, ist es wichtig zu verstehen, wie AMP Daten verarbeitet. AMP sendet Daten zwischen Tools in Paketen von Datensätzen, um den Synchronisierungsaufwand zwischen den Tools zu minimieren und eine bessere Leistung sicherzustellen. Wenn es viele Datensätze gibt, die Tools durchlaufen, werden die Pakete gefüllt und müssen weitergesendet werden.

Ausführungsreihenfolge: Übersicht

Wie bereits erwähnt, führt ein Steuerelement-Container keine darin enthaltenen Tools aus, bis er alle Datensätze über seinen Steuereingabe-Anker erhält. Wenn der Eingabeanker eine große Anzahl von Datensätzen über mehrere Pakete empfängt, hält der Container die Pakete an der Eingabe, bis er alle Pakete empfängt. Sobald alle Pakete empfangen wurden, wird der Container aktiviert.

Sobald der Container aktiviert ist, werden die darin enthaltenen Tools ausgeführt. Wenn der Container während dieses Prozesses Daten außerhalb seiner Grenzen weitergibt, können diese Daten den Container verlassen, bevor alle darin enthaltenen Tools ausgeführt werden. Dies hängt davon ab, wie die AMP Engine Pakete zusammenstellt und sequenziert.

Der Protokollausgabe-Anker des Containers beginnt, Meldungen für Tools zu sammeln, die innerhalb des Containers ausgeführt werden, sobald er aktiviert wird. Er sammelt weiterhin Meldungen, bis:

  • Entweder ein Datensatzpaket groß genug ist, um nachgeschaltet gesendet zu werden, und dann beginnt, das nächste Paket Meldungen zu sammeln.

  • Oder der Container alle darin enthaltenen Tools ausgeführt und dies mit der Meldung „Steuerelement-Container fertiggestellt“ abschließt.

Empfehlungen zur Sicherstellung der Ausführungsreihenfolge

Wenn die Ausführungsreihenfolge für Ihren Workflow von entscheidender Bedeutung ist, sollten Sie zusätzliche Steuerelement-Container verwenden, um sicherzustellen, dass Datensätze, welche die Container-Grenzen überschreiten, korrekt sequenziert werden.

Wenn Sie den Ausgabeanker eines Steuerelement-Containers mit dem Eingabeanker eines anderen Steuerelement-Containers verbinden, muss der zweite Container alle Datensätze über seinen Steuereingabe-Anker empfangen, bevor er alle darin enthaltenen Tools aktivieren und ausführen kann.

Um ein vereinfachtes Beispiel zu verwenden: Wenn Sie absolut sicher sein müssen, dass ein Prozess nicht gestartet wird, bevor ein anderer Prozess abgeschlossen ist, sollten Sie immer mehrere Steuerelement-Container verwenden, wie im 2. Beispiel unten.

1. Beispiel

Diese Konfiguration garantiert nicht, dass das Meldung-Tool mit dem Start wartet, bis alle Datensätze das Filter-Tool durchlaufen haben, und garantiert auch nicht, dass alle Tools im Steuerelement-Container vollständig abgeschlossen wurden (wenn andere Tools enthalten waren).

control-container-example-1.png

2. Beispiel

Diese Konfiguration stellt sicher, dass das Meldung-Tool mit dem Start wartet, bis Steuerelement-Container 5 alle Datensätze über seinen Steuereingabe-Anker empfängt. Dies tritt nur auf, wenn alle Tools im ersten Container vollständig ausgeführt wurden und der Container die Meldung „Steuerelement-Container fertiggestellt“ protokolliert.

control-container-example-2.png

Tools in einem Behälter gruppieren

Es gibt mehrere Möglichkeiten, Tools in einem Behälter zu gruppieren:

  • Wählen Sie mindestens ein Tool auf dem Canvas aus und klicken Sie mit der rechten Maustaste darauf. Wählen Sie dann Neuem Steuerelement-Container hinzufügen.

  • Ziehen Sie das Steuerelement-Container-Tool auf den Canvas und platzieren Sie es in der Nähe der Tools, die Sie gruppieren möchten. Drücken Sie die Strg-Taste auf der Tastatur, wählen Sie die Tools aus und ziehen Sie sie dann in den Container.

Um einen Container zu maximieren oder zu minimieren, wählen Sie das Symbol oben rechts im Container aus.

Behälterinhalt ändern

  • Um einen Behälter ohne die Tools darin zu löschen, klicken Sie mit der rechten Maustaste auf den maximierten Behälter und wählen Sie Nur Behälter löschen aus.

  • Um ein Tool aus einem Behälter zu entfernen, wählen Sie das Tool aus und ziehen Sie es aus dem Behälter heraus.

Behälter deaktivieren

Deaktivieren Sie einen Container, wenn Sie einen Abschnitt oder Prozess in Ihrem Workflow nicht ausführen möchten. Der deaktivierte Behälter bleibt auf dem Canvas maximiert und wird abgeblendet angezeigt, um den deaktivierten Status anzuzeigen. Die Tools innerhalb des Containers verarbeiten Daten erst, wenn Sie den Container wieder aktivieren. Wenn der Container deaktiviert ist, schließt er seinen Anker für die Protokollausgabe, ohne Meldungen zu senden.

Sie haben zwei Möglichkeiten, um den Behälter zu deaktivieren:

  • Aktivieren Sie im Konfigurationsfenster des Containers das Kontrollkästchen Deaktiviert.

  • Wählen Sie auf dem Canvas den Umschalter oben links am Container aus, damit sich der Regler nach links verschiebt.

Sie können einen deaktivierten Behälter minimieren, um dessen Inhalt auszublenden. Wählen Sie dazu im Behälter das Symbol zum Maximieren/Minimieren aus.

Einen Container aktivieren

Sie haben zwei Möglichkeiten, um den Behälter zu aktivieren:

  • Deaktivieren Sie im Konfigurationsfenster des Containers das Kontrollkästchen Deaktiviert.

  • Wählen Sie den Umschalter oben links am Behälter aus, damit sich der Regler nach rechts verschiebt.

Tool-Konfiguration

Sobald sich Ihr Steuerelement-Container-Tool auf dem Workflow-Canvas befindet, können Sie im Konfigurationsfenster des Steuerelement-Containers eine Beschriftung für den Container erstellen, das Aussehen des Containers ändern und diesen bei Bedarf deaktivieren.

  • Geben Sie im Konfigurationsfenster einen Namen für den Container im Feld Beschriftung ein oder doppelklicken Sie auf das Container-Feld auf dem Canvas und geben Sie einen Text direkt im Feld ein. Der Standardtext ist „Steuerelement-Container“ und die Tool-ID, die im ID-Feld angezeigt wird.

  • Legen Sie für den Container das Farbschema fest.

    • Wählen Sie „...“ neben Textfarbe, Füllfarbe und Rahmenfarbe und anschließend eine Farbe aus der Palette aus. Alternativ können Sie RGB-Werte eingeben.

    • Geben Sie unter Transparenz einen Wert ein oder verwenden Sie die Pfeil-Symbole, um die Farbtransparenz festzulegen.

    • Wählen Sie unter Rand eine Breite aus, um den Abstand zwischen dem Rand des Containers und den enthaltenen Tools zu ändern.

So legen Sie die Standardfarbe für den Füllbehälter fest:

  1. Gehen Sie zu Optionen > Benutzereinstellungen > Benutzereinstellungen bearbeiten und wählen Sie Canvas aus.

  2. Legen Sie unter Standardeinstellungen für den Canvas > Behälter die gewünschten RGB-Werte fest oder verwenden Sie die Schaltfläche „...“, um eine Farbe auszuwählen.

  3. Speichern Sie Ihre Einstellungen.

Hinweise zur Kompatibilität und Einschränkungen

In-DB-Tools

Datenbankinterne Tools funktionieren innerhalb von Steuerelement-Containern. Eine datenbankinterne Verbindung kann jedoch die Grenzen des Steuerelement-Containers nicht überschreiten. Mit anderen Worten: Es ist nicht möglich, ein In-DB-verbinden-Tool außerhalb Ihres Steuerelement-Containers mit einem In-DB-Filter-Tool innerhalb des Containers zu verbinden.

Schnittstellen-Tools

Schnittstellen-Tools werden innerhalb von Steuerelement-Containern nicht unterstützt. Sie können Schnittstellen-Tools und Steuerelement-Container im selben Workflow haben – die Schnittstellen-Tools können sich aber nicht innerhalb der Steuerelement-Container befinden.

Befehlsausführung-blockieren-Tools

Befehlsausführung-blockieren-Tools haben keine Wirkung, wenn sie sich in Workflows befinden, die auch Steuerelement-Container enthalten. Wenn Ihr Workflow sowohl Befehlsausführung-blockieren-Tools als auch Steuerelement-Container enthält, wird eine Fehlermeldung angezeigt, und die Befehlsausführung-blockieren-Tools werden als Weiterleitung-Tools behandelt (ohne Sequenzierungsverhalten).

Prozess-umleiten-Tools

Prozess-umleiten-Tools funktionieren mit Steuerelement-Containern. Sie müssen die üblichen Regeln für Anfang und Ende der Prozessumleitung befolgen. Beachten Sie jedoch, dass ein Prozess-umleiten-Ende-Tool in einem Steuerelement-Container, der nie aktiviert wird, seinen Datenstrom löscht.

Verschachtelte Steuerelement-Container

Steuerelement-Container funktionieren, wenn sie in anderen Steuerelement-Containern verschachtelt sind. Verbindungsschleifen führen jedoch zu Fehlern. Beispielsweise ist es nicht möglich, die Protokollausgabe eines Steuerelement-Containers mit einem Tool innerhalb desselben Containers zu verbinden.

Steuerelement-Container und Makros

Steuerelement-Container funktionieren innerhalb von Makros. Makro- und App-Aktionen werden vor der XML-Übersetzung angewendet. Makros funktionieren auch innerhalb von Steuerelement-Containern.

Debug-Workflow

Steuerelement-Container sind derzeit nicht mit der Funktion „Debug-Workflow“ kompatibel, auf das über das Fenster „Schnittstellen-Designer für Makros und Analyse-Apps“ zugegriffen werden kann. Ein Debug-Workflow, der Steuerelement-Container enthält, erzeugt einen Fehler.