Verwenden von Ausdrücken in Bedingungen, um mehrere Werte zu überprüfenUse expressions in conditions to check multiple values

In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie im erweiterten Modus mithilfe von Ausdrücken und Bedingungen mehrere Werte vergleichen.In this walkthrough, you'll learn to use expressions and Conditions to compare multiple values in Advanced mode.

Wenn Sie einen Flow erstellen, können Sie im Standardmodus mithilfe der Karte Bedingung schnell einen einzelnen Wert mit einem anderen Wert vergleichen.When you create a flow, you can use the Condition card in basic mode to quickly compare a single value with another value. Es kann jedoch vorkommen, dass Sie mehrere Werte vergleichen müssen.However, there're times when you need to compare multiple values. Beispielsweise müssen Sie eventuell den Wert einiger Spalten in einem Arbeitsblatt oder einer Datenbanktabelle überprüfen.For example, you may want to check the value of a few columns in a spreadsheet or database table.

Sie können in den Bedingungen eine beliebige Kombination der folgenden logischen Ausdrücke verwenden.You can use any combination of the following logical expressions in your conditions.

AusdruckExpression BeschreibungDescription BeispielExample
andand Akzeptiert zwei Argumente und gibt „true“ zurück, wenn beide Werte die Bedingung erfüllen.Takes two arguments and returns true if both values are true.
Hinweis: Beide Argumente müssen boolesche Werte sein.Note: Both arguments must be Booleans.
Dieser Ausdruck gibt „false“ zurück:This expression returns false:
and(greater(1,10),equals(0,0))and(greater(1,10),equals(0,0))
oror Akzeptiert zwei Argumente und gibt „true“ zurück, wenn eines der Argumente die Bedingung erfüllt.Takes two arguments and returns true if either argument is true.
Hinweis: Beide Argumente müssen boolesche Werte sein.Note: Both arguments must be Booleans.
Dieser Ausdruck gibt „true“ zurück:This expression returns true:
or(greater(1,10),equals(0,0))or(greater(1,10),equals(0,0))
equalsequals Gibt „true“ zurück, wenn zwei Werte gleich sind.Returns true if two values are equal. Beispiel: Wenn Parameter1 den Wert „someValue“ aufweist, gibt dieser Ausdruck „true“ zurück:For example, if parameter1 is someValue, this expression returns true:
equals(parameters('Parameter1'), 'someValue')equals(parameters('parameter1'), 'someValue')
lessless Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument kleiner als das zweite Argument ist.Takes two arguments and returns true if the first argument is less than the second argument.
Hinweis: Die unterstützten Typen sind „integer“, „float“ und „string“.Note: The supported types are integer, float, and string.
Dieser Ausdruck gibt „true“ zurück:This expression returns true:
less(10,100)less(10,100)
lessOrEqualslessOrEquals Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument kleiner oder gleich dem zweiten Argument ist.Takes two arguments and returns true if the first argument is less than or equal to the second argument.
Hinweis: Die unterstützten Typen sind „integer“, „float“ und „string“.Note: The supported types are integer, float, and string.
Dieser Ausdruck gibt „true“ zurück:This expression returns true:
lessOrEquals(10,10)lessOrEquals(10,10)
greatergreater Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument größer als das zweite Argument ist.Takes two arguments and returns true if the first argument is greater than the second argument.
Hinweis: Die unterstützten Typen sind „integer“, „float“ und „string“.Note: The supported types are integer, float, and string.
Dieser Ausdruck gibt „false“ zurück:This expression returns false:
greater(10,10)greater(10,10)
greaterOrEqualsgreaterOrEquals Akzeptiert zwei Argumente und gibt „true“ zurück, wenn das erste Argument größer oder gleich dem zweiten Argument ist.Takes two arguments and returns true if the first argument is greater than or equal to the second argument.
Hinweis: Die unterstützten Typen sind „integer“, „float“ und „string“.Note: The supported types are integer, float, and string.
Dieser Ausdruck gibt „false“ zurück:This expression returns false:
greaterOrEquals(10,100)greaterOrEquals(10,100)
emptyempty Gibt „true“ zurück, wenn das Objekt, das Array oder die Zeichenfolge leer ist.Returns true if the object, array, or string is empty. Dieser Ausdruck gibt „true“ zurück:This expression returns true:
empty('')empty('')
notnot Gibt das Gegenteil eines booleschen Werts zurück.Returns the opposite of a boolean value. Dieser Ausdruck gibt „true“ zurück:This expression returns true:
not(contains('200 Success','Fail'))not(contains('200 Success','Fail'))
ifif Gibt einen bestimmten Wert zurück, wenn der Ausdruck „true“ oder „false“ ergibt.Returns a specific value if the expression results in true or false. Dieser Ausdruck gibt „yes“ zurück:This expression returns "yes":
if(equals(1, 1), 'yes', 'no')if(equals(1, 1), 'yes', 'no')

VoraussetzungenPrerequisites

  • Zugriff auf Microsoft FlowAccess to Microsoft Flow.
  • Eine Arbeitsmappe mit den weiter unten in dieser exemplarischen Vorgehensweise beschriebenen Tabellen.A spreadsheet with the tables described later in this walkthrough. Speichern Sie die Arbeitsmappe an einem Speicherort, z.B. Dropbox oder Microsoft OneDrive, damit Microsoft Flow darauf zugreifen kann.Be sure to save your spreadsheet in a location such as Dropbox or Microsoft OneDrive so that Microsoft Flow can access it.
  • Microsoft Office 365 Outlook (hier wird Office 365 Outlook verwendet, Sie können in Ihren Flows jedoch jeden beliebigen unterstützten E-Mail-Dienst verwenden.)Microsoft Office 365 Outlook (While we use Office 365 Outlook, you can use any supported email service in your flows.)

Verwenden des or-AusdrucksUse the or expression

Manchmal muss der Workflow eine Aktion ausführen, wenn der Wert eines Elements „wertA“ oder „wertB“ lautet.Sometimes your workflow needs to take an action if the value of an item is valueA or valueB. Sie können beispielsweise in einem Arbeitsblatt den Status von Aufgaben nachverfolgen.For example, you may be tracking the status of tasks in a spreadsheet table. Angenommen, die Tabelle enthält eine Spalte mit dem Namen Status, und die möglichen Werte in der Spalte Status lauten:Assume that the table has a column named Status and the possible values in the Status column are:

  • completed (abgeschlossen)completed
  • blocked (gesperrt)blocked
  • unnecessary (nicht erforderlich)unnecessary
  • not started (nicht begonnen)not started

Das Arbeitsblatt kann beispielsweise folgendermaßen aussehen:Here's an example of what the spreadsheet might look like:

Beispielarbeitsblatt

Sie möchten mithilfe von Microsoft Flow in der oben beschriebenen Tabelle alle Zeilen in der Spalte Status entfernen, die auf completed (abgeschlossen) oder unnecessary (nicht erforderlich) festgelegt sind.Given the preceding spreadsheet, you want to use Microsoft Flow to remove all rows with a Status column that's set to completed or unnecessary.

Erstellen Sie jetzt den Flow.Let's create the flow.

Beginnen Sie mit einem leeren FlowStart with a blank flow

  1. Melden Sie sich bei Microsoft Flow an.Sign into Microsoft Flow.

    Anmelden

  2. Wählen Sie die Registerkarte Meine Flows aus.Select the My flows tab.

    „Meine Flows“ auswählen

  3. Wählen Sie Ohne Vorlage neu erstellen aus.Select Create from blank.

    Ohne Vorlage neu erstellen

Fügen Sie dem Flow einen Trigger hinzuAdd a trigger to your flow

  1. Suchen Sie nach Zeitplan, und wählen Sie dann den Trigger Zeitplan – Wiederholung aus.Search for Schedule, and then select the Schedule - Recurrence trigger

    Zeitplantrigger

  2. Legen Sie fest, dass der Zeitplan einmal täglich ausgeführt wird.Set the schedule to run once daily.

    Zeitplan festlegen

Wählen Sie das Arbeitsblatt aus, und rufen Sie alle Zeilen abSelect the spreadsheet and get all rows

  1. Wählen Sie Neuer Schritt > Aktion hinzufügen.Select New step > Add an action.

    Neuer Schritt

  2. Suchen Sie nach Zeilen, und wählen Sie dann Excel – Zeilen abrufen aus.Search for rows, and then select Excel - Get rows.

    Hinweis: Wählen Sie die Aktion „Zeilen abrufen“ für das Arbeitsblatt aus, das Sie verwenden.Note: Select the "get rows" action that corresponds to the spreadsheet that you're using. Wenn Sie z. B. Google Tabellen verwenden, wählen Sie Google Tabellen – Zeilen abrufen aus.For example, if you're using Google Sheets, select Google Sheets - Get rows.

    Zeilen abrufen

  3. Wählen Sie im Feld Dateiname das Ordnersymbol aus, navigieren Sie zu dem Arbeitsblatt, das die Daten enthält, und wählen Sie es aus.Select the folder icon in the File name box, browse to, and then select the spreadsheet that contains your data.

    Arbeitsblatt auswählen

  4. Wählen Sie in der Liste Tabellenname die Tabelle aus, die die Daten enthält.Select the table that contains your data from the Table name list.

    Tabelle auswählen

Überprüfen Sie die Statusspalte jeder ZeileCheck the status column of each row

  1. Wählen Sie Neuer Schritt > Mehr > "Apply to Each"-Schleife hinzufügen aus.Select New step > More > Add an apply to each.

    Tabelle auswählen

  2. Fügen Sie dem Feld Ausgabe von vorherigen Schritten auswählen das Token Wert hinzu.Add the Value token to the Select an output from previous steps box.

    Tabelle auswählen

  3. Wählen Sie Bedingung hinzufügen > Im erweiterten Modus bearbeiten aus.Select Add a condition > Edit in advanced mode.

  4. Fügen Sie den folgenden or-Ausdruck hinzu.Add the following or expression. Dieser or-Ausdruck überprüft den Wert jeder Zeile in der Tabelle (wenn in einem Ausdruck auf eine Zeile zugegriffen wird, wird diese als Element bezeichnet).This or expression checks the value of each row in the table (a row is known as an item when accessed in a expression). Wenn die Spalte Status den Wert completed (abgeschlossen) oder unnecessary (nicht erforderlich) aufweist, wird der or-Ausdruck als „true“ ausgewertet.If the value of the status column is completed or unnecessary, the or expression evaluates to "true".

    Der or-Ausdruck wird wie folgt angezeigt:The or expression appears as shown here:

    @or(equals(item()?['status'], 'unnecessary'), equals(item()?['status'], 'completed'))

    Die Karte Bedingung ähnelt dieser Abbildung:Your Condition card resembles this image:

    Abbildung des or-Ausdrucks

Löschen Sie übereinstimmende Zeilen aus dem ArbeitsblattDelete matching rows from the spreadsheet

  1. Wählen Sie Aktion hinzufügen in der Bedingungsverzweigung Wenn ja, keine Aktion durchführen aus.Select Add an action on the IF YES, DO NOTHING branch of the condition.

  2. Suchen Sie nach Zeile löschen, und wählen Sie dann Excel – Zeile löschen aus.Search for Delete row, and then select Excel - Delete row.

    Abbildung von „Zeile löschen“

  3. Suchen Sie im Feld Dateiname die Tabellenkalkulationsdatei, in der sich die zu löschenden Daten befinden.In the File name box, search for, and select the spreadsheet file that contains the data you want to delete.

  4. Wählen Sie in der Liste Tabellenname die Tabelle aus, die die Daten enthält.In the Table name list, select the table that contains your data.

  5. Fügen Sie das Token Zeilen-ID in das Feld Zeilen-ID ein.Place the Row id token in the Row id box.

    Tabellenkalkulationsdatei

Benennen Sie den Flow, und speichern Sie ihnName the flow and save it

  1. Benennen Sie den Flow, und wählen Sie dann die Schaltfläche Flow erstellen aus.Give your flow a name and then select the Create flow button.

    Flow speichern

Führen Sie den Flow mit dem or-Ausdruck ausRun the flow with the or expression

Nachdem Sie den Flow gespeichert haben, wird er ausgeführt.The flow runs after you save it. Wenn Sie das zuvor in dieser exemplarischen Vorgehensweise gezeigte Arbeitsblatt erstellt haben, sieht es nach Abschluss der Ausführung wie folgt aus:If you created the spreadsheet shown earlier in this walkthrough, here's what the it looks like after the run completes:

Der or-Ausdruck wird abgeschlossen

Beachten Sie, dass alle Daten aus Zeilen gelöscht wurden, die in der Spalte „Status“ den Eintrag „completed“ (abgeschlossen) oder „unnecessary“ (nicht erforderlich) enthielten.Notice all data from rows that had "completed" or "unnecessary" in the Status column were deleted.

Verwenden des and-AusdrucksUse the and expression

Angenommen, Sie haben ein Arbeitsblatt mit zwei Spalten.Assume you have a spreadsheet table with two columns. Die Spaltennamen lauten „Status“ und „Assigned“ (Zugewiesen).The column names are Status and Assigned. 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.Assume also that you want to delete all rows if the Status column's value is "blocked" and the Assigned column's value is "John Wonder". Führen Sie zum Ausführen dieser Aufgabe alle vorherigen Schritte in dieser exemplarischen Vorgehensweise aus. Verwenden Sie jedoch beim Bearbeiten des Bildschirms Bedingung im erweiterten Modus den hier gezeigten and-Ausdruck:To accomplish this task, follow all steps earlier in this walkthrough, however, when you edit the Condition card in advanced mode, use the and expression shown here:

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

Die Karte Bedingung ähnelt dieser Abbildung:Your Condition card resembles this image:

Abbildung des and-Ausdrucks

Führen Sie den Flow mit dem and-Ausdruck ausRun the flow with the and expression

Wenn Sie die bisherigen Schritte ausgeführt haben, ähnelt Ihr Arbeitsblatt dieser Abbildung:If you followed along, your spreadsheet resembles this image:

Vor der Ausführung der and-Funktion

Nach dem Ausführen des Flows ähnelt Ihr Arbeitsblatt dieser Abbildung:After your flow runs, your spreadsheet resembles this image:

Nach der Ausführung der and-Funktion

Verwenden des empty-AusdrucksUse the empty expression

Beachten Sie, dass das Arbeitsblatt jetzt mehrere leere Zeilen enthält.Notice that there are several empty rows in the spreadsheet now. Um diese zu entfernen, bestimmen Sie mithilfe des empty-Ausdrucks alle Zeilen, die in der Spalte „Assigned“ (Zugewiesen) und „Status“ keinen Text enthalten.To remove them, use the empty expression to identify all rows that don't have any text in the Assigned and Status columns.

Führen Sie zum Durchführen dieser Aufgabe alle vorherigen Schritte aus, die weiter oben im Abschnitt Verwenden des and-Ausdrucks aufgeführt sind. Verwenden Sie jedoch beim Bearbeiten der Karte Bedingung im erweiterten Modus den empty-Ausdruck wie folgt:To accomplish this task, follow all steps listed in Use the and expression section earlier in this walkthrough, however, when you edit the Condition card in advanced mode, use the empty expression this way:

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

Die Karte Bedingung ähnelt dieser Abbildung:Your Condition card resembles this image:

Abbildung des empty-Ausdrucks

Nach dem Ausführen des Flows ähnelt das Arbeitsblatt dieser Abbildung:After your flow runs, the spreadsheet resembles this image:

Nach der Ausführung der empty-Funktion

Beachten Sie, dass zusätzliche Zeilen aus der Tabelle entfernt wurden.Notice extra lines are removed from the table.

Verwenden des greater-AusdrucksUse the greater expression

Angenommen, Sie haben Baseballtickets für Ihre Kollegen gekauft und stellen mithilfe eines Arbeitsblatts sicher, dass Ihnen von jeder Person die Kosten erstattet werden.Imagine you've bought baseball tickets for your coworkers and you're using a spreadsheet to ensure you're reimbursed by each person. Sie können schnell einen Flow erstellen, der täglich an jede Person, die noch nicht den vollen Betrag gezahlt hat, eine E-Mail sendet.You can quickly create a flow that sends a daily email to each person who hasn't paid the full amount.

Verwenden Sie den greater-Ausdruck, um die Mitarbeiter zu identifizieren, die nicht den vollen Betrag gezahlt haben.Use the greater expression to identify the employees who haven't paid the full amount. Anschließend können Sie eine freundliche Erinnerung an diejenigen senden, die nicht vollständig gezahlt haben.You can then automatically send a friendly reminder email to those who haven't paid in full.

Dies ist eine Ansicht des Arbeitsblatts:Here's a view of the spreadsheet:

Ansicht des Arbeitsblatts

Dies ist die Implementierung des greater-Ausdrucks, die alle Personen identifiziert, die weniger als den fälligen Betrag gezahlt haben:Here's the implementation of the greater expression that identifies all persons who have paid less than the amount due from them:

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

Verwenden des less-AusdrucksUse the less expression

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.Imagine you've bought baseball tickets for your coworkers, and you're using a spreadsheet to ensure you're reimbursed by each person by the date to which everyone agreed. Sie können einen 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.You can create a flow that sends a reminder email to each person who hasn't paid the full amount if the current date is less than one day before the due date.

Verwenden Sie den and-Ausdruck zusammen mit dem less-Ausdruck, da zwei Bedingungen überprüft werden müssen:Use the and expression along with the less expression since there are two conditions being validated:

Zu überprüfende BedingungCondition to validate Zu verwendender Ausdruckexpression to use BeispielExample
Wurde der gesamte Fälligkeitsbetrag bezahlt?Has the full amount due been paid? greatergreater @greater(item()?['Due'], item()?['Paid'])@greater(item()?['Due'], item()?['Paid'])
Liegt das Fälligkeitsdatum weniger als einen Tag in der Zukunft?Is the due date less than one day away? lessless @less(item()?['DueDate'], addDays(utcNow(),1))@less(item()?['DueDate'], addDays(utcNow(),1))

Kombinieren des greater-Ausdrucks und less-Ausdrucks in einem and-AusdruckCombine the greater and less expressions in an and expression

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.Use the greater expression to identify the employees who have paid less than the full amount due and use the less expression to determine if the payment due date is less than one day away from the current date. Anschließend können Sie mit der Aktion E-Mail senden eine freundliche Erinnerungs-E-Mail an diejenigen senden, die nicht den vollständigen Betrag gezahlt haben, wenn die Frist bis zum Fälligkeitsdatum weniger als ein Tag ist.You can then the Send an email action to send friendly reminder email to those who haven't paid in full and the due date is less than one day away.

Dies ist eine Ansicht der Arbeitsblatttabelle:Here's a view of the spreadsheet table:

Ansicht des Arbeitsblatts

Dies ist die Implementierung des and-Ausdrucks, die alle Personen 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.Here's the implementation of the and expression that identifies all persons who have paid less than the amount due from them and the due date is less than one day away from the current date:

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

Verwenden von Funktionen in AusdrückenUse functions in expressions

Einige Ausdrücke rufen ihre Werte von Laufzeitaktionen ab, die möglicherweise noch nicht vorhanden sind, wenn die Ausführung eines Flows beginnt.Some expressions get their values from runtime actions that might not yet exist when a flow starts to run. Sie können von der Workflowdefinitionssprache bereitgestellte Funktionen verwenden, um in Ausdrücken auf diese Werte zu verweisen oder mit ihnen zu arbeiten.To reference or work with these values in expressions, you can use functions that the Workflow Definition Language provides. Weitere Informationen: Functions reference for Workflow Definition Language in Microsoft Flow (Funktionsreferenz zur Definitionssprache für Workflows in Microsoft Flow)More information: Functions reference for Workflow Definition Language in Microsoft Flow