So visualisieren Sie eine CSV als Workflow

Ein Workflow ist ein Prozess mit Nacharbeit darin. So schreiben Sie eine Rückwärtsreferenz in Linie zu, begrenzen den Wiederanlauf und unterscheiden eine echte Schleife von einer vertippten Zeilennummer.

Aus einer CSV wird in dem Moment ein Workflow statt einer Liste, in dem eine Zelle in Linie zu eine Zeilennummer trägt, die kleiner ist als ihre eigene: diese Rückwärtsreferenz ist die Nacharbeitsschleife, die jeder Freigabeprozess hat und fast jeder Export auslässt.

Kurz gesagt

  • Eine Zahl in Linie zu, die kleiner ist als ihre eigene Zeile, ist eine Rückkehr. Nichts sonst kennzeichnet eine.
  • Schleifenzeilen haben mehrere Ziele, ihre Zellen enthalten also Kommas und müssen in der CSV in Anführungszeichen stehen.
  • Begrenzen Sie den zweiten Anlauf: Eine Entscheidung, die den Durchgang zählt, ist das, was eine Schleife stoppt.
  • Die Nacharbeitszeilen dürfen überall in der Datei stehen: die Schleife ist die Kante, nicht die Position.
  • Eine Rückwärtsreferenz in eine Zeile, die keine Arbeit wiederholt, ist ein Tippfehler und keine Schleife.

Wo sich die Schleifen in einer exportierten Datei verstecken

CSV-Exporte eines Prozesses kommen aus Systemen, die festhalten, was geschehen ist: ein Freigabeprotokoll, ein Ticketexport, die Auditspur hinter einer Workflow-Engine. Sie sind flach, eine Zeile je Ereignis, meist nach Zeitstempel geordnet, und sie sind vollständig über die Vergangenheit und stumm über die Gestalt. Eine solche Datei als Workflow zu lesen heißt, eine Frage zu beantworten, die die Datei nicht enthält: Wohin geht die Arbeit zurück, wenn dieser Schritt abgelehnt wird?

In QueryChart ist die Antwort eine Zahl. Die Spalte Linie zu enthält die 1-basierten Zeilennummern, mit denen eine Zeile verbunden ist, und nichts verlangt, dass diese Zahl größer ist als die Zeile, in der sie steht. Zeile 16, die auf Zeile 3 zeigt, ist eine Schleife: Die Arbeit kehrt zu Zeile 3 zurück und läuft erneut nach vorn. Das ist der ganze Mechanismus. Es gibt keine Schleifenform, keine Wiederholungsmarke und keine eigene Rückkehrspalte: ein Workflow unterscheidet sich von einem geraden Prozess dadurch, dass eine Zahl kleiner ist als erwartet.

CSV macht genau diese eine Zahl schwerer richtig zu treffen als eine Tabellenkalkulation, aus einem Grund, der am Format hängt. Die Zeilen, die schleifen, sind die mit mehr als einem Ziel, ihre Zelle in Linie zu liest sich also 3,17 und ihre Zelle in Linientext Erste Überarbeitung,Zweite Überarbeitung. Beide enthalten Kommas, und ein Komma in einer kommagetrennten Datei muss in Anführungszeichen stehen, sonst gewinnt die Zeile still Spalten und verliert die Ausrichtung zur Kopfzeile. /de/guides/verbindungen-im-flussdiagramm-in-csv-definieren behandelt die Paarungsregeln; diese Seite handelt davon, was diese Zellen bedeuten, sobald sie geparst werden.

Das Beispiel unten ist ein Genehmigungsworkflow für Rabatte, dasselbe Diagramm wie unter /de/templates/genehmigungsworkflow-aus-csv. Es hat drei Rückwärtsreferenzen in vierundzwanzig Zeilen: eine Überarbeitung, die zur Margenberechnung zurückkehrt, eine Eskalation, die zur Übersicht für die Leitung zurückkehrt, und ein Gegenangebot des Kunden, das zur Überarbeitung zurückkehrt. Öffnen Sie das Tabellenpanel und lesen Sie die Spalte Linie zu gegen die Zeilennummern.

Drei Rückwärtsreferenzen in vierundzwanzig Zeilen

Ein Genehmigungsworkflow für Rabatte in vier Stufen der Vollständigkeit. Das Tabellenpanel unter der Zeichenfläche zeigt, welche Spalten gefüllt sind: achten Sie in Linie zu auf Zahlen, die kleiner sind als ihre eigene Zeile.

  1. Formen, keine Verbindungen

    Die Zeilen 1 bis 6 mit gefüllter Spalte Form und sonst nichts: ein Start für „Rabattanfrage des Kunden erhalten“, drei Prozesszeilen, die Entscheidung „Marge bei 40 % oder darüber?“ und die Freigabe auf Mitarbeiterebene. Noch zeigt nichts irgendwohin. Das ist ungefähr das, was ein roher Export liefert: eine Liste mit einer angeschraubten Typspalte, also eine Tabelle und kein Workflow.

  2. Der Weg nach vorn

    Linie zu füllt sich und die Freigabeleiter erscheint: Zeile 5 verzweigt zu 6 oder 7, Zeile 7 zu 8 oder 10, Zeile 10 zu 11 oder 13, und jede Stufe reicht das Margenband an eine ranghöhere Stelle weiter. Jede Zahl in diesem Anfangsstück ist größer als die Zeile, in der sie steht, alle Pfeile laufen also vorwärts, und die Datei ließe sich weiterhin von oben nach unten als Liste lesen.

  3. Die Zahl, die rückwärts zeigt

    Die Zeilen 15 bis 17 ergänzen den Block zur Überarbeitung, und Zeile 16 ist die Stelle, an der die Datei aufhört, eine Liste zu sein. „Zum zweiten Mal von derselben Stelle zurück?“ trägt Linie zu 3,17 mit Linientext Erste Überarbeitung,Zweite Überarbeitung: Die 3 ist kleiner als 16, eine erste Überarbeitung kehrt also zu „Bruttomarge nach Rabatt berechnen“ zurück: ein geänderter Preis ist eine geänderte Marge und kann in einem anderen Band landen. Die zweite Überarbeitung geht stattdessen zu 17, und das ist die Begrenzung.

  4. Der ganze Workflow mit Bahnen

    Alle vierundzwanzig Zeilen, mit Angebot, Margenprüfung, Freigabe, Überarbeitung und Versand quer und Vertriebsmitarbeiter, Vertriebsleitung, Finanzen und Kaufmännische Leitung längs. Die Bahn Überarbeitung sammelt jetzt sichtbar die Zeilen 15 bis 17, und deshalb ist die Schleife auf der Zeichenfläche lesbar und im Export unsichtbar. Die letzte Rückwärtsreferenz sitzt in Zeile 20, wo „Verlangt mehr Rabatt“ das Gegenangebot des Kunden zurück zu Zeile 15 schickt statt zu einem neuen Angebot.

So funktioniert es

  1. Bringen Sie den Export in Prozessreihenfolge

    Systemexporte kommen in Zeitstempel- oder Ticketreihenfolge heraus, also in der Reihenfolge, in der Dinge geschahen, und nicht in der, in der der Prozess läuft. Sortieren Sie die Zeilen in die Abfolge, die ein einzelner Fall durchläuft, bevor Sie einen einzigen Wert in Linie zu schreiben, denn diese Werte sind Zeilenpositionen, und die Datei danach neu zu sortieren macht jeden davon ungültig.

  2. Prüfen Sie, ob die Kopfzeile den Export überstanden hat

    Spalten werden über den Überschriftennamen zugeordnet, die Kopfzeile ist also der einzige Teil der Datei, der genau stimmen muss. Bestätigen Sie, dass dort Form, Boxtext, Linie zu, Linientext steht. Eine Byte-Reihenfolge-Markierung aus einem UTF-8-Export hängt sich an den ersten Überschriftennamen, und ein semikolongetrennter Export aus einem europäischen System legt die ganze Zeile in eine Zelle: in beiden Fällen wird die Spalte nicht erkannt und als ungenutzte Zusatzspalte mitgeführt, statt laut zu scheitern.

  3. Schreiben Sie zuerst den Weg nach vorn

    Füllen Sie Linie zu nur für den durchlaufenden Fall, in dem jede Zahl größer ist als die Zeile, in der sie steht. Bringen Sie den Workflow ganz ohne Nacharbeit von Anfang bis Ende zum Laufen. Schleifen, die einem noch nicht geprüften Pfad hinzugefügt werden, sind fast unmöglich zurückzulesen, denn Sie können eine Rückkehrkante nicht von einer falschen Zahl unterscheiden, wenn beide auf eine Zeile zeigen, bei der Sie unsicher sind.

  4. Ergänzen Sie eine Nacharbeitszeile und richten Sie die Rückkehrkante darauf

    Geben Sie der Überarbeitung eine eigene Zeile („Rabatt, Preis oder Konditionen überarbeiten“) und schicken Sie jede ablehnende Entscheidung zu dieser einen Zeile, statt unter jeder freigebenden Stelle einen eigenen Nacharbeitsschritt zu duplizieren. Schreiben Sie dann die Rückkehrkante aus dem Nacharbeitsblock heraus und richten Sie sie auf die Zeile, in der die geänderte Eingabe erneut bewertet wird. Im Beispiel ist das Zeile 3, die Margenberechnung, und nicht Zeile 1.

  5. Begrenzen Sie den zweiten Anlauf

    Eine unbegrenzte Schleife ist ein Workflow, der ewig laufen kann, und in einem echten Prozess tut er das nicht. Ergänzen Sie hinter der Nacharbeitszeile eine Entscheidung, die fragt, wie oft der Vorgang bereits zurückkam (Zeile 16, „Zum zweiten Mal von derselben Stelle zurück?“) mit Linie zu 3,17: einmal die Schleife, beim zweiten Durchgang die Eskalation. Setzen Sie diese Zelle in Anführungszeichen, damit das Komma darin bleibt.

  6. Datei ablegen und die Rückwärtspfeile lesen

    Ziehen Sie die .csv auf den Tabellenbereich eines neuen Diagramms oder kopieren Sie den Text direkt hinein, und das Diagramm entsteht. Lesen Sie danach jeden Pfeil, der rückwärts läuft. Jeder davon sollte ein Fall sein, den Sie laut benennen können: eine Überarbeitung, eine Eskalation, ein Gegenangebot. Ein Pfeil, den Sie nicht benennen können, ist eine vertauschte Zeilennummer, und das ist die einzige Ansicht, in der das offensichtlich wird.

Häufige Fehler

  • Das Komma in der Zelle von Linie zu

    Eine Zeile mit zwei Zielen enthält 3,17 und eine mit drei 19,15,22. Ohne Anführungszeichen werden daraus in einer kommagetrennten Datei drei und vier Spalten, jede spätere Spalte verschiebt sich nach links, und die Fehlausrichtung trifft genau die Zeilen, die die Schleifen tragen. Tabellenkalkulationen setzen solche Zellen beim Export standardmäßig in Anführungszeichen; von Hand oder per Skript erzeugte Dateien oft nicht.

  • Die Datei sortieren, nachdem Sie nummeriert haben

    Werte in Linie zu sind Zeilenpositionen und keine Bezeichner, ein einziges Sortieren des Blattes nummeriert also jede Zeile neu und lässt jede Referenz auf das zeigen, was diese Position jetzt einnimmt. Das Diagramm wird trotzdem gezeichnet und ist vollständig falsch. Legen Sie die Reihenfolge zuerst fest (siehe /de/guides/csv-fuer-flussdiagramme-strukturieren), nummerieren Sie danach.

  • Eine Schleife, die zu früh wieder einsetzt

    Die Rückkehrkante auf Zeile 1 zu richten startet die Erfassung neu und behauptet damit, der Kunde habe eine zweite Anfrage gestellt. Schicken Sie sie zur ersten Zeile, deren Ergebnis sich durch die Nacharbeit tatsächlich ändert. Im Beispiel kehrt die Überarbeitung zur Margenberechnung zurück, weil sich der Preis geändert hat und die Marge dem Preis folgt.

  • Kein Ausgang aus der Schleife

    Eine Rückwärtskante ohne Zähler daneben ergibt einen Workflow, der nie endet, und verbirgt den Fall, den alle fürchten: den Abschluss, der dreimal die Runde dreht und trotzdem stirbt. Die Begrenzung ist eine Entscheidung mit einem zweiten Zweig hinaus: Zeile 16 geht zu 17, und 17 eskaliert entweder an die kaufmännische Leitung oder endet bei „Abschluss aus Margengründen aufgegeben“.

Öffnen Sie das Beispiel zum Genehmigungsworkflow

Öffnen Sie das Beispiel als eigenes Diagramm, ersetzen Sie die Zeilen durch Ihre eigene Datei und prüfen Sie, ob jede Rückwärtszahl dort landet, wo die Arbeit tatsächlich wiederholt wird.

Öffnen Sie das Beispiel zum Genehmigungsworkflow

Verwandte Anleitungen

Häufig gestellte Fragen

Kann ein Wert in Linie zu auf eine frühere Zeile zeigen?

Ja, und das ist der ganze Mechanismus für Nacharbeit. Linie zu nimmt die 1-basierte Position der Zielzeile auf, und nichts zwingt sie, größer zu sein als die Zeile, in der sie steht. Eine 3 in der Zelle von Zeile 16 zeichnet also einen Pfeil von 16 zurück nach 3. Der Renderer führt ihn um die Kästen herum; Sie platzieren ihn nicht. Weil es keine eigene Schleifenmarke gibt, heißt eine CSV auf Schleifen zu lesen, nach Zahlen zu suchen, die kleiner sind als ihre eigene Zeile: das ist das einzige Signal in der Datei.

Wie verhindere ich, dass eine Nacharbeitsschleife ewig kreist?

Setzen Sie auf den Rückkehrpfad eine Entscheidung, die den Durchgang zählt. Im Beispiel fragt Zeile 16 „Zum zweiten Mal von derselben Stelle zurück?“ und trägt Linie zu 3,17 mit Linientext Erste Überarbeitung,Zweite Überarbeitung, der erste Durchgang dreht also die Runde und der zweite verlässt die Schleife zu Zeile 17, „Am Rabatt festhalten oder aussteigen?“. Der Zähler wird nirgends gespeichert: das Diagramm dokumentiert die Regel, und die Regel ist das, woran sich Menschen halten. Wichtig ist, dass die Schleife einen beschrifteten Ausgang auf dem Diagramm hat statt eines stillschweigenden in jemandes Kopf.

Wie unterscheide ich eine echte Schleife von einer falschen Zeilennummer in einer fremden Datei?

Drei Prüfungen. Wiederholt die Zielzeile Arbeit, die die Nacharbeit tatsächlich verändert hat? Eine Schleife, die zu einem Schritt zurückkehrt, dessen Ergebnis diesmal nicht anders ausfallen kann, ist ein Fehler. Verlässt die Rückwärtskante eine Entscheidung? Eine Prozesszeile, deren einziges Linie zu rückwärts zeigt und die keinen Ausgang nach vorn hat, macht den Rest der Datei unerreichbar und ist fast immer ein Zahlendreher. Und ist der Zweig beschriftet? Echte Schleifen tragen einen Linientext, der den Fall benennt; Tippfehler nie, denn niemand beschriftet eine Kante, die er nicht zeichnen wollte.

Mein Export hat eine Zeile je Freigabeereignis, nicht je Schritt. Was tue ich?

Verdichten. Eine Auditspur wiederholt denselben Schritt einmal je Vorkommen, ein zweimal überarbeiteter Abschluss erscheint also als zwei Zeilen „an den Antragsteller zurückgegeben“, und ihn direkt zu importieren erzeugt ein Diagramm eines einzelnen Falls statt einer Definition des Prozesses. Ziehen Sie die unterschiedenen Schritte heraus, behalten Sie je eine Zeile und lassen Sie die Rückwärtsreferenz die Wiederholung tragen: dieser Tausch ist der Sinn der Schleife. Wenn Sie die Datei erst einmal nur gezeichnet sehen wollen, ist die Vorlage zum Genehmigungsworkflow die kürzere Fassung davon.

Bleibt das Diagramm lesbar, wenn die Schleifen die Bahnen kreuzen?

Die Führung der Verbindungen wird berechnet und nicht gezeichnet, eine Rückkehrkante von der Bahn Überarbeitung zurück in die Bahn Angebot wird also um die Kästen herum geführt, ohne dass Sie etwas verschieben. Unlesbar macht einen schleifenden Workflow nicht die Menge der Pfeile, sondern die Zeilenreihenfolge: Halten Sie die Nacharbeitszeilen zusammen, wie es die Zeilen 15 bis 17 im Beispiel sind, statt unter jeder freigebenden Stelle einen Überarbeitungsschritt zu verstreuen. Drei freigebende Stellen mit je einer Nacharbeitszeile ergeben drei Schleifen, die in Wahrheit eine sind.

Die Vorlage hinter dieser Anleitung

Vorlage: Genehmigungsworkflow aus CSV (Rabatt nach Marge) — Ein Rabattfreigabe-Workflow, den Sie als CSV einfügen können: drei Margenbänder, vier Genehmigerbahnen und Überarbeitungsschleifen, deren Werte in Linie zu rückwärts auf eine kleinere Zeilennummer zeigen als ihre eigene.