Verwenden von Ausdrücken in Bedingungen, um mehrere Werte zu überprüfen

In diesem Tutorial erfahren Sie, wie Sie im erweiterten Modus mithilfe von Ausdrücken und Bedingungen mehrere Werte vergleichen.

Wenn Sie einen Cloud-Flow erstellen, können Sie im Standardmodus mithilfe der Karte Bedingung schnell einen einzelnen Wert mit einem anderen Wert vergleichen. Es kann jedoch vorkommen, dass Sie mehrere Werte vergleichen müssen. Beispielsweise müssen Sie eventuell den Wert einiger Spalten in einem Arbeitsblatt oder einer Datenbanktabelle überprüfen.

Sie können in den Bedingungen eine beliebige Kombination der folgenden logischen Ausdrücke verwenden.

Ausdruck Beschreibung des Dataflows Beispiel
and Akzeptiert zwei Argumente und gibt „true“ zurück, wenn beide Werte die Bedingung erfüllen.
Hinweis: Beide Argumente müssen boolesche Werte sein.
Dieser Ausdruck gibt „falsch“ zurück:
and(greater(1,10),equals(0,0))
or Akzeptiert zwei Argumente und gibt „true“ zurück, wenn eines der Argumente die Bedingung erfüllt.
Hinweis: Beide Argumente müssen boolesche Werte sein.
Dieser Ausdruck gibt „true“ zurück:
or(greater(1,10),equals(0,0))
equals Gibt „true“ zurück, wenn zwei Werte gleich sind. Beispiel: Wenn Parameter1 den Wert „someValue“ aufweist, gibt dieser Ausdruck „true“ zurück:
equals(parameters('parameter1'), 'someValue')
less Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument kleiner als das zweite Argument ist.
Hinweis: Die unterstützten Typen sind „ganze Zahl“, „Gleitkomma“ und „Zeichenfolge“.
Dieser Ausdruck gibt „true“ zurück:
less(10,100)
lessOrEquals Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument kleiner oder gleich dem zweiten Argument ist.
Hinweis: Die unterstützten Typen sind „ganze Zahl“, „Gleitkomma“ und „Zeichenfolge“.
Dieser Ausdruck gibt „true“ zurück:
lessOrEquals(10,10)
greater Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument größer als das zweite Argument ist.
Hinweis: Die unterstützten Typen sind „ganze Zahl“, „Gleitkomma“ und „Zeichenfolge“.
Dieser Ausdruck gibt „false“ zurück:
greater(10,10)
greaterOrEquals Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument größer oder gleich dem zweiten Argument ist.
Hinweis: Die unterstützten Typen sind „ganze Zahl“, „Gleitkomma“ und „Zeichenfolge“.
Dieser Ausdruck gibt „false“ zurück:
greaterOrEquals(10,100)
empty Gibt „true“ zurück, wenn das Objekt, das Array oder die Zeichenfolge leer ist. Dieser Ausdruck gibt „true“ zurück:
empty('')
not Gibt das Gegenteil eines booleschen Werts zurück. Dieser Ausdruck gibt „true“ zurück:
not(contains('200 Success','Fail'))
if Gibt einen bestimmten Wert zurück, wenn der Ausdruck „true“ oder „false“ ergibt. Dieser Ausdruck gibt „yes“ zurück:
if(equals(1, 1), 'yes', 'no')

Anforderungen

Dies müssen Sie tun, um die Vorgehensweise abzuschließen.

  • Zugriff auf Power Automate.
  • Ihre eigene Kalkulationstabelle mit den später in dieser exemplarischen Vorgehensweise beschriebenen Tabellen. Speichern Sie die Arbeitsmappe an einem Speicherort, z.B. Dropbox oder Microsoft OneDrive, damit Power Automate darauf zugreifen kann.
  • Microsoft 365 Outlook (hier wird Outlook verwendet, Sie können in Ihren Flows jedoch jeden beliebigen unterstützten E-Mail-Dienst verwenden.)

Verwenden des or-Ausdrucks

Manchmal muss der Workflow eine Aktion ausführen, wenn der Wert eines Elements „wertA“ oder „wertB“ lautet. Sie können beispielsweise in einem Arbeitsblatt den Status von Aufgaben nachverfolgen. Angenommen, die Tabelle enthält eine Spalte mit dem Namen Status, und die möglichen Werte in der Spalte lauten:

  • Abgeschlossen
  • blocked
  • unnecessary (nicht erforderlich)
  • nicht gestartet

Das Arbeitsblatt kann beispielsweise folgendermaßen aussehen:

Screenshot einer Beispieltabelle mit einer Statusspalte

Sie möchten mithilfe von Power Automate in der oben beschriebenen Tabelle alle Zeilen in der Spalte Status entfernen, die auf abgeschlossen oder nicht erforderlich festgelegt sind.

Erstellen Sie jetzt den Flow.

Beginnen Sie mit einem leeren Flow

  1. Melden Sie sich beim Power Automate Admin-Zentrum an.

  2. Wählen Sie im linken Bereich Meine Flows aus.

  3. Wählen Sie Neuer Flow>Geplanter Cloud-Flow.

Fügen Sie dem Flow einen Trigger hinzu

  1. Benennen Sie den Flow.

  2. Legen Sie fest, dass der Zeitplan den Flow einmal täglich ausführt.

  3. Wählen Sie die Schaltfläche Erstellen, um zum nächsten Schritt zu gelangen.

Anmerkung

Power Automate verwendet entweder den klassischen Cloud-Flow-Designer oder den Cloud-Flow-Designer mit Copilot. Um herauszufinden, welchen Designer Sie verwenden, gehen Sie zum Abschnitt Hinweis unter Den Cloud-Flow-Designer mit Copilot-Funktionen verstehen.

Wählen Sie das Arbeitsblatt aus, und rufen Sie alle Zeilen ab

  1. Wählen Sie Neuer Schritt aus.

  2. Suchen Sie nach Zeilen, und wählen Sie dann Excel Online (Business) aus.

    Wählen Sie die Aktion Zeile abrufen für das Arbeitsblatt aus, das Sie verwenden. Wenn Sie z. B. Google Tabellen verwenden, wählen Sie Google Tabellen – Zeilen abrufen aus.

  3. Wählen Sie die Aktion Vorhandene Zeilen in einer Tabelle auflisten.

    Screenshot der Auflistung von Zeilen in einer Tabelle.

  4. Wählen Sie Standort, Dokumentbibliothek, Datei, und Tabelle aus, das Ihre Daten enthält.

    Screenshot der Felder „Standort“, „Dokumentbibliothek“, „Datei“ und „Tabelle“ in den Listenzeilen einer Tabellenkarte

Überprüfen Sie die Statusspalte jeder Zeile

  1. Wählen Sie Neuer Schritt aus.

  2. Suchen Sie nach Für alle übernehmen, und wählen Sie dann Für alle übernehmen – Steuerelemente.

  3. Fügen Sie dem Feld Ausgabe von vorherigen Schritten auswählen das Token Wert hinzu.

    Dieser Wert-Token repräsentiert die Tabellenkalkulationstabelle und alle ihre Daten.

  4. Wählen Sie Aktion hinzufügen auf der Karte Auf jeden anwenden.

  5. Suchen Sie nach Bedingung, und wählen Sie dann die Steuerung Bedingung.

  6. Fügen Sie den folgenden Oder-Ausdruck hinzu. Dieser Oder-Ausdruck überprüft den Wert jeder Zeile in der Tabelle. Wenn die Spalte Status den Wert abgeschlossenodernicht erforderlich aufweist, wird der Oder-Ausdruck als „wahr“ ausgewertet.

    Hier ist ein Beispiel einer Bedingungskarte.

    Screenshot eines „oder“-Ausdrucks

Löschen Sie übereinstimmende Zeilen aus dem Arbeitsblatt

  1. Wählen Sie in der Verzweigung Wenn ja der Bedingung die Option Aktion hinzufügen aus.

    Die Verzweigung Wenn ja wird ausgeführt, wenn die OR-Bedingung als true ausgewertet wird.

  2. Suchen Sie nach Zeile löschen, wählen Sie Excel-Online (Geschäft), und wählen Sie dann Zeile löschen.

  3. Auf der Karte Zeile löschen setzen Sie die Kästchen Standort, Dokumentbibliothek, Datei, und Tabelle genau so, wie Sie diese Kästchen auf der Karte Listen Sie Zeilen auf, die in einer Tabelle vorhanden sind weiter oben in diesem Tutorial gesetzt haben.

  4. In der Dropdown-Liste Schlüsselspalte wählen Sie _PowerAppsId_.

  5. Im Feld Schlüsselwert fügen Sie den dynamischen Wert _PowerAppsId_ ein.

  6. Den Flow speichern.

Führen Sie den Flow mit dem „oder“-Ausdruck aus

Nachdem Sie den Flow gespeichert haben, wird er ausgeführt. Wenn Sie das zuvor in diesem Tutorial gezeigte Arbeitsblatt erstellt haben, sieht es nach Abschluss der Ausführung wie folgt aus.

Screenshot der Tabelle, wenn der „OR“-Ausdruck abgeschlossen ist

Beachten Sie, dass alle Daten aus Zeilen gelöscht wurden, die in der Spalte Status den Eintrag completed (abgeschlossen) oder unnecessary (nicht erforderlich) enthielten.

Verwenden des „und“-Ausdrucks

Angenommen, Sie haben ein Arbeitsblatt mit zwei Spalten. Die Spaltennamen lauten Status und Assigned (Zugewiesen). Nehmen wir außerdem an, dass alle Zeilen gelöscht werden sollen, wenn die Spalte Status den Wert blocked (Gesperrt) und die Spalte Assigned (Zugewiesen) den Wert John Wonder aufweist. Führen Sie zum Ausführen dieser Aufgabe alle vorherigen Schritte in diesem Tutorial aus. Verwenden Sie jedoch beim Bearbeiten des Bildschirms Bedingung im erweiterten Modus den hier gezeigten and-Ausdruck:

@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))

Hier ist ein Beispiel einer Bedingungskarte.

Screenshot eines „und“-Ausdrucks

Führen Sie den Flow mit dem „und“-Ausdruck aus

Wenn Sie die Schritte in diesem Tutorial befolgt haben, sollte Ihre Tabelle ähnlich wie im folgenden Screenshot aussehen.

Screenshot der Tabelle, bevor Ihr Flow ausgeführt wird

Nachdem Ihr Flow ausgeführt wurde, sollte Ihre Tabelle ähnlich wie im folgenden Screenshot aussehen.

Screenshot der Tabelle, nachdem Ihr Flow ausgeführt wird

Verwenden des „empty“-Ausdrucks

Beachten Sie, dass das Arbeitsblatt jetzt mehrere leere Zeilen enthält. Um diese zu entfernen, bestimmen Sie mithilfe des empty-Ausdrucks alle Zeilen, die in der Spalte Assigned (Zugewiesen) und Status keinen Text enthalten.

Um diese Aufgabe auszuführen, befolgen Sie alle Schritte, die im Abschnitt Verwenden des „und“-Ausdrucks weiter oben in diesem Tutorial aufgeführt sind. Beim Bearbeiten der Bedingung-Karte im erweiterten Modus verwenden Sie folgenden empty-Ausdruck.

@and(empty(item()?['Status']), empty(item()?['Assigned']))

Ihre Bedingung-Karte sollte ungefähr wie im folgenden Screenshot aussehen.

Screenshot eines „empty“-Ausdrucks

Nachdem Ihr Flow ausgeführt wurde, sollte Ihre Tabelle ähnlich wie im folgenden Screenshot aussehen.

Screenshot der Tabelle nach der Ausführung von „leer“.

Beachten Sie, dass zusätzliche Zeilen aus der Tabelle entfernt wurden.

Verwenden des „greater“-Ausdrucks

Angenommen, Sie haben Baseballtickets für Ihre Kollegen gekauft und stellen mithilfe eines Arbeitsblatts sicher, dass Ihnen von jeder Person die Kosten erstattet werden. Sie können schnell einen Cloud-Flow erstellen, der täglich an jede Person, die noch nicht den vollen Betrag gezahlt hat, eine E-Mail sendet.

Verwenden Sie den greater-Ausdruck, um die Mitarbeiter zu identifizieren, die nicht den vollen Betrag gezahlt haben. Anschließend können Sie eine Erinnerung an diejenigen senden, die nicht vollständig gezahlt haben.

Dies ist eine Ansicht des Arbeitsblatts.

Screenshot der Tabelle derjenigen, die nicht vollständig bezahlt haben

Dies ist die Implementierung des greater-Ausdrucks, die alle Personen identifiziert, die weniger als den fälligen Betrag gezahlt haben.

@greater(item()?['Due'], item()?['Paid'])

Verwenden des „less“-Ausdrucks

Angenommen, Sie haben Baseballtickets für Ihre Kollegen gekauft und stellen mithilfe eines Arbeitsblatts sicher, dass Ihnen von jeder Person bis zum vereinbarten Datum die Kosten erstattet werden. Sie können einen Cloud-Flow erstellen, der an jede Person, die nicht den vollen Betrag gezahlt hat, eine Erinnerungs-E-Mail sendet, wenn die Frist zwischen dem aktuellen Datum und dem Fälligkeitsdatum weniger als ein Tag ist.

Verwenden Sie den und-Ausdruck mit dem less-Ausdruck, da zwei Bedingungen überprüft werden müssen.

Zu überprüfende Bedingung Zu verwendender Ausdruck Beispiel
Wurde der gesamte Fälligkeitsbetrag bezahlt? greater @greater(item()?['Due'], item()?['Paid'])
Liegt das Fälligkeitsdatum weniger als einen Tag in der Zukunft? less @less(item()?['DueDate'], addDays(utcNow(),1))

Kombinieren des „greater“-Ausdrucks und „less“-Ausdrucks in einem „und“-Ausdruck

Identifizieren Sie mit dem greater-Ausdruck die Mitarbeiter, die weniger als den vollständigen fälligen Betrag gezahlt haben, und bestimmen Sie mit dem less-Ausdruck, ob der Zeitraum zwischen dem aktuellen Datum und dem Fälligkeitsdatum der Zahlung weniger als ein Tag ist. Anschließend können Sie mit der Aktion E-Mail senden eine Erinnerungs-E-Mail an die Mitarbeiter senden, die nicht den vollständigen Betrag gezahlt haben, wenn die Frist bis zum Fälligkeitsdatum weniger als ein Tag ist.

Dies ist eine Ansicht der Arbeitsblatttabelle.

Screenshot der Tabellenkalkulation

Dies ist die Implementierung des and-Ausdrucks, die alle Mitarbeiter identifiziert, die weniger als den fälligen Betrag bezahlt haben, wenn der Zeitraum zwischen dem aktuellen Datum und dem Fälligkeitsdatum weniger als ein Tag ist.

@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))

Verwenden von Funktionen in Ausdrücken

Einige Ausdrücke rufen ihre Werte von Laufzeitaktionen ab, die möglicherweise noch nicht vorhanden sind, wenn die Ausführung eines Cloud-Flows beginnt. Sie können von der Workflowdefinitionssprache bereitgestellte Funktionen verwenden, um in Ausdrücken auf diese Werte zu verweisen oder mit ihnen zu arbeiten. Weitere Informationen. Um mehr zu erfahren, gehen Sie zu Referenzhandbuch zu Workflowausdrucksfunktionen in Azure Logic Apps und Power Automate.