Freigeben über


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 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 „integer“, „float“ und „string“.
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 „integer“, „float“ und „string“.
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 „integer“, „float“ und „string“.
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 „integer“, „float“ und „string“.
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

Um diese exemplarische Vorgehensweise abzuschließen, müssen Sie Folgendes tun.

  • 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 neuen modernen Designer mit Copilot-Funktionen. Um herauszufinden, welchen Designer Sie verwenden, wechseln Sie zum Abschnitt Notiz unter Erkunden des Cloud-Flow-Designers.
  • Wenn Sie zwischen dem klassischen und dem neuen Designer wechseln, werden Sie aufgefordert, Ihren Flow zu speichern. Sie können erst speichern und wechseln, wenn alle Fehler behoben sind.

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

Sie können Copilot verwenden, um den Flow für Sie zu erstellen, oder ihn manuell erstellen.

Einen Flow mit Copilot erstellen

  1. Bitten Sie Copilot, einen Flow für Sie zu erstellen. Geben Sie die folgende Eingabeaufforderung in Copilot ein:

    Liste jede Woche Zeilen in einer Excel-Tabelle auf und lösche die Excel-Zeile, wenn die Spalte „Status“ gleich „Erfolgreich“ ist oder die E-Mail der Anspruchsführungskraft jake@contoso.com lautet.

  2. Wählen Sie ÜbermittelnScreenshot der Schaltfläche „Übermitteln“. aus.

    Nachdem Sie die Eingabeaufforderung übermittelt haben, erstellt Copilot den Flow für Sie. Sie müssen Details eingeben, damit der Flow funktioniert, z. B. Parameter für verschiedene Aktionen, die von Copilot hinzugefügt wurden.

Einen Flow manuell erstellen

Alternativ können Sie das folgende Verfahren ausführen, um denselben Flow manuell zu erstellen:

  1. Fügen Sie einen neuen Schritt hinzu, indem Sie das Pluszeichen (+) >Aktion hinzufügen auswählen.

  2. Suchen Sie nach Zeilen>Excel Online (Business)> der Aktion Zeile abrufen, die dem Arbeitsblatt entspricht, 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 in Copilot.

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

    Screenshot der Parameter für Listenzeilen in einer Tabelle in Copilot.

Überprüfen Sie die Statusspalte jeder Zeile

  1. Fügen Sie einen neuen Schritt hinzu, indem Sie das Pluszeichen (+) >Aktion hinzufügen auswählen.

  2. Suchen Sie auf der Anzeige Aktion hinzufügen nach Für alle übernehmen, und wählen Sie dann Für alle übernehmen unter Steuerung aus.

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

    Screenshot zur Auswahl des Werts aus dem vorherigen Schritt.

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

  4. Fügen Sie auf der Karte Für alle übernehmen einen neuen Schritt hinzu, indem Sie das Pluszeichen (+) >Aktion hinzufügen auswählen.

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

  6. Fügen Sie den folgenden OR-Ausdruck hinzu. Dieser OR-Ausdruck überprüft den Wert jeder Zeile in der Tabelle.

    Wenn die Spalte Status den Wert completed (abgeschlossen) Oderunnecessary (nicht erforderlich) aufweist, wird der OR-Ausdruck als true ausgewertet.

    Hier ist ein Beispiel einer Bedingungskarte.

    Screenshot der Auswahl des Werts aus dem vorherigen Schritt.

Löschen Sie übereinstimmende Zeilen aus dem Arbeitsblatt

  1. Wählen Sie das Pluszeichen (+) aus, um eine Aktion in der Verzweigung True der Bedingung hinzuzufügen.

    Die Verzweigung True wird ausgeführt, wenn die Oder-Bedingung zu true ausgewertet wird.

  2. Suchen Sie nach Excel Online (Business) und wählen Sie dann Zeile löschen aus.

    Screenshot zum Löschen einer Zeile

  3. Legen Sie im Bereich Zeile löschen die Kästchen Standort, Dokumentbibliothek, Datei und Tabelle genau so fest, wie Sie diese Kästchen auf der Karte Vorhandene Zeilen in einer Tabelle auflisten weiter oben in diesem Tutorial festgelegt 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 jeder davon Ihnen die Kosten erstattet. Sie können schnell einen Cloud-Flow erstellen, der täglich an alle, die noch nicht den vollen Betrag gezahlt haben, eine E-Mail sendet.

Verwenden Sie den Ausdruck größer als, um die Mitarbeitenden zu identifizieren, die nicht den vollen Betrag gezahlt haben. Sie können dann automatisch eine Erinnerungs-E-Mail an sie senden.

Dies ist eine Ansicht des Arbeitsblatts.

Screenshot des Tabellenblatts der Mitarbeitenden, die nicht vollständig bezahlt haben

Dies ist die Implementierung des Ausdrucks größer als, wodurch alle identifiziert werden, 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 jeder bis zum vereinbarten Datum die Kosten erstattet. Sie können einen Cloud-Flow erstellen, der an alle, die nicht den vollen Betrag gezahlt haben, 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 Ausdruck größer als die Mitarbeitenden, die weniger als den vollständigen fälligen Betrag gezahlt haben, und bestimmen Sie mit dem Ausdruck kleiner als, 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 Ausdrucks und, mit der alle Mitarbeitenden ermittelt werden, 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.

Training: Einführung in Ausdrücke in Power Automate (Modul)