Gebruik expressies in voorwaarden om meerdere waarden te controlerenUse expressions in conditions to check multiple values

In dit overzicht leert u hoe u expressies en Voorwaarden kunt gebruiken om in de Geavanceerde modus meerdere waarden te vergelijken.In this walkthrough, you'll learn to use expressions and Conditions to compare multiple values in Advanced mode.

Als u een stroom maakt, kunt u de kaart Voorwaarde in de standaardmodus gebruiken om snel een waarde met een andere waarde te vergelijken.When you create a flow, you can use the Condition card in basic mode to quickly compare a single value with another value. Er zijn echter momenten waarop u meerdere waarden moet vergelijken.However, there're times when you need to compare multiple values. U wilt bijvoorbeeld de waarde van een paar kolommen in een werkblad of databasetabel controleren.For example, you may want to check the value of a few columns in a spreadsheet or database table.

U kunt elke willekeurige combinatie van de volgende logische expressies in uw voorwaarden gebruiken.You can use any combination of the following logical expressions in your conditions.

ExpressieExpression BeschrijvingDescription VoorbeeldExample
andand Neemt twee argumenten en retourneert 'true' als beide waarden waar zijn.Takes two arguments and returns true if both values are true.
Opmerking: Beide argumenten moeten Booleaanse waarden zijn.Note: Both arguments must be Booleans.
Deze expressie retourneert 'false':This expression returns false:
and(greater(1,10),equals(0,0))and(greater(1,10),equals(0,0))
oror Neemt twee argumenten en retourneert 'true' als een van beide waarden waar is.Takes two arguments and returns true if either argument is true.
Opmerking: Beide argumenten moeten Booleaanse waarden zijn.Note: Both arguments must be Booleans.
Deze expressie retourneert 'true':This expression returns true:
or(greater(1,10),equals(0,0))or(greater(1,10),equals(0,0))
equalsequals Retourneert 'true' als twee waarden gelijk zijn.Returns true if two values are equal. Deze functie retourneert bijvoorbeeld 'true' als parameter1 eenWaarde is:For example, if parameter1 is someValue, this expression returns true:
equals(parameters('parameter1'), 'eenWaarde')equals(parameters('parameter1'), 'someValue')
lessless Neemt twee argumenten en retourneert 'true' als het eerste argument minder is dan het tweede argument.Takes two arguments and returns true if the first argument is less than the second argument.
Opmerking: De ondersteunde typen zijn geheel getal, float en tekenreeks.Note: The supported types are integer, float, and string.
Deze expressie retourneert 'true':This expression returns true:
less(10,100)less(10,100)
lessOrEqualslessOrEquals Neemt twee argumenten en retourneert 'true' als het eerste argument minder is dan of gelijk is aan het tweede argument.Takes two arguments and returns true if the first argument is less than or equal to the second argument.
Opmerking: De ondersteunde typen zijn geheel getal, float en tekenreeks.Note: The supported types are integer, float, and string.
Deze expressie retourneert 'true':This expression returns true:
lessOrEquals(10,10)lessOrEquals(10,10)
greatergreater Neemt twee argumenten en retourneert 'true' als het eerste argument groter is dan het tweede argument.Takes two arguments and returns true if the first argument is greater than the second argument.
Opmerking: De ondersteunde typen zijn geheel getal, float en tekenreeks.Note: The supported types are integer, float, and string.
Deze expressie retourneert 'false':This expression returns false:
greater(10,10)greater(10,10)
greaterOrEqualsgreaterOrEquals Neemt twee argumenten en retourneert 'true' als het eerste argument groter is dan of gelijk is aan het tweede argument.Takes two arguments and returns true if the first argument is greater than or equal to the second argument.
Opmerking: De ondersteunde typen zijn geheel getal, float en tekenreeks.Note: The supported types are integer, float, and string.
Deze expressie retourneert 'false':This expression returns false:
greaterOrEquals(10,100)greaterOrEquals(10,100)
emptyempty Retourneert 'true' als het object, de matrix of de tekenreeks leeg is.Returns true if the object, array, or string is empty. Deze expressie retourneert 'true':This expression returns true:
empty('')empty('')
notnot Retourneert het tegenovergestelde van een Booleaanse waarde.Returns the opposite of a boolean value. Deze expressie retourneert 'true':This expression returns true:
not(contains('200 Success','Fail'))not(contains('200 Success','Fail'))
ifif Retourneert een specifieke waarde als de expressie tot 'true' of 'false' leidt.Returns a specific value if the expression results in true or false. Deze expressie retourneert 'ja':This expression returns "yes":
if(equals(1, 1), 'ja', 'nee')if(equals(1, 1), 'yes', 'no')

VereistenPrerequisites

  • Toegang tot Microsoft Flow.Access to Microsoft Flow.
  • Een werkblad met de tabellen die later in dit overzicht worden beschreven.A spreadsheet with the tables described later in this walkthrough. Sla uw werkblad op een locatie zoals Dropbox of Microsoft OneDrive op, zodat Microsoft Flow er toegang toe heeft.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 (we gebruiken Office 365 Outlook, maar u kunt elke ondersteunde e-mailservice in uw stromen gebruiken.)Microsoft Office 365 Outlook (While we use Office 365 Outlook, you can use any supported email service in your flows.)

De or-expressie gebruikenUse the or expression

Soms moet uw werkstroom een actie uitvoeren als de waarde van een item waardeA of waardeB is.Sometimes your workflow needs to take an action if the value of an item is valueA or valueB. U kunt bijvoorbeeld de status van taken in een tabel op een werkblad bijhouden.For example, you may be tracking the status of tasks in a spreadsheet table. Stel dat de tabel een kolom bevat met de naam Status en dat de mogelijke waarden in de kolom Status als volgt zijn:Assume that the table has a column named Status and the possible values in the Status column are:

  • voltooidcompleted
  • geblokkeerdblocked
  • onnodigunnecessary
  • niet gestartnot started

Het werkblad kan er dan als volgt uitzien:Here's an example of what the spreadsheet might look like:

voorbeeldwerkblad

Gezien het voorgaande werkblad wilt u mogelijk Microsoft Flow gebruiken om alle rijen te verwijderen waarin de kolom Status is ingesteld op voltooid of onnodig.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.

Laten we de stroom maken.Let's create the flow.

Begin met een lege stroomStart with a blank flow

  1. Meld u aan bij Microsoft Flow.Sign into Microsoft Flow.

    aanmelden

  2. Selecteer het tabblad Mijn stromen.Select the My flows tab.

    mijn stromen selecteren

  3. Selecteer Maken van lege.Select Create from blank.

    een stroom op basis van een lege stroom maken

Voeg een trigger toe aan uw stroomAdd a trigger to your flow

  1. Zoek Schema en selecteer de trigger Schema - TerugkeerpatroonSearch for Schedule, and then select the Schedule - Recurrence trigger

    trigger voor schema

  2. Stel in dat het schema één keer per dag wordt uitgevoerd.Set the schedule to run once daily.

    schema instellen

Selecteer het werkblad en haal alle rijen opSelect the spreadsheet and get all rows

  1. Selecteer Nieuwe stap > Een actie toevoegen.Select New step > Add an action.

    nieuwe stap

  2. Zoek naar rijen en selecteer vervolgens Excel - Rijen ophalen.Search for rows, and then select Excel - Get rows.

    Opmerking: Selecteer de actie 'rijen ophalen' die overeenkomt met het werkblad dat u gebruikt.Note: Select the "get rows" action that corresponds to the spreadsheet that you're using. Als u bijvoorbeeld Google Sheets gebruikt, selecteert u Google Sheets - Rijen ophalen.For example, if you're using Google Sheets, select Google Sheets - Get rows.

    Rijen ophalen

  3. Selecteer het mappictogram in het vak Bestandsnaam, blader en selecteer vervolgens het werkblad dat uw gegevens bevat.Select the folder icon in the File name box, browse to, and then select the spreadsheet that contains your data.

    werkblad selecteren

  4. Selecteer in de lijst Tabelnaam de tabel die uw gegevens bevat.Select the table that contains your data from the Table name list.

    tabel selecteren

Controleer de statuskolom in elke rijCheck the status column of each row

  1. Selecteer Nieuwe stap > Meer > Een item voor toepassen toevoegen aan elk(e).Select New step > More > Add an apply to each.

    tabel selecteren

  2. Voeg het token Waarde toe aan het vak Een uitvoer selecteren uit de vorige stappen.Add the Value token to the Select an output from previous steps box.

    tabel selecteren

  3. Selecteer Een voorwaarde toevoegen > Bewerken in de geavanceerde modus.Select Add a condition > Edit in advanced mode.

  4. Voeg de volgende OR-expressie toe.Add the following or expression. Deze or-expressie controleert de waarde van elke rij in de tabel (een rij wordt als een item gezien als deze in een expressie wordt benaderd).This or expression checks the value of each row in the table (a row is known as an item when accessed in a expression). Als de waarde in de kolom status voltooid of onnodig is, eindigt de or-expressie als 'true'.If the value of the status column is completed or unnecessary, the or expression evaluates to "true".

    De or-expressie wordt als volgt weergegeven:The or expression appears as shown here:

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

    Uw Voorwaarde-kaart lijkt op deze afbeelding:Your Condition card resembles this image:

    Afbeelding or-expressie

Overeenkomende rijen verwijderen uit het werkbladDelete matching rows from the spreadsheet

  1. Selecteer Een actie toevoegen in de vertakking INDIEN JA, NIETS DOEN van de voorwaarde.Select Add an action on the IF YES, DO NOTHING branch of the condition.

  2. Zoek Rij verwijderen en selecteer Excel - Rij verwijderen.Search for Delete row, and then select Excel - Delete row.

    afbeelding voor rij verwijderen

  3. Zoek in het vak Bestandsnaam naar het werkbladbestand dat de gegevens bevat die u wilt verwijderen. Selecteer dit bestand.In the File name box, search for, and select the spreadsheet file that contains the data you want to delete.

  4. Selecteer in de lijst Tabelnaam de tabel die uw gegevens bevat.In the Table name list, select the table that contains your data.

  5. Plaats het token Rij-id in het vak Rij-id.Place the Row id token in the Row id box.

    werkbladbestand

Geef de stroom een naam en sla deze opName the flow and save it

  1. Geef uw stroom een naam en selecteer de knop Stroom maken.Give your flow a name and then select the Create flow button.

    de stroom opslaan

De stroom uitvoeren met de OR-expressieRun the flow with the or expression

De stroom wordt uitgevoerd nadat u deze hebt opgeslagen.The flow runs after you save it. Als u het werkblad hebt gemaakt dat eerder in dit overzicht werd weergegeven, ziet u het volgende nadat de uitvoering is voltooid:If you created the spreadsheet shown earlier in this walkthrough, here's what the it looks like after the run completes:

or-expressie is voltooid

Let op dat alle gegevens uit rijen waarvan de kolom Status 'voltooid' of 'onnodig' bevatte zijn verwijderd.Notice all data from rows that had "completed" or "unnecessary" in the Status column were deleted.

De and-expressie gebruikenUse the and expression

Stel dat u een werkbladtabel hebt met twee kolommen.Assume you have a spreadsheet table with two columns. De kolomnamen zijn Status en Toegewezen.The column names are Status and Assigned. Stel daarnaast dat u alle rijen wilt verwijderen als de waarde in de kolom Status 'geblokkeerd' is en de waarde in de kolom Toegewezen 'John Wonder' is.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". Volg alle eerdere stappen in dit overzicht om deze taak uit te voeren. Als u de kaart Voorwaarde in de geavanceerde modus bewerkt, moet u echter de and-expressie gebruiken die hier wordt weergegeven: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'))

Uw Voorwaarde-kaart lijkt op deze afbeelding:Your Condition card resembles this image:

Afbeelding and-expressie

De stroom uitvoeren met de and-expressieRun the flow with the and expression

Als u de stappen hebt gevolgd, lijkt uw werkblad op de volgende afbeelding:If you followed along, your spreadsheet resembles this image:

voordat and wordt uitgevoerd

Nadat uw stroom is uitgevoerd, lijkt uw werkblad op de volgende afbeelding:After your flow runs, your spreadsheet resembles this image:

nadat and is uitgevoerd

De empty-expressie gebruikenUse the empty expression

U ziet dat er nu verschillende lege rijen in het werkblad zijn.Notice that there are several empty rows in the spreadsheet now. U kunt ze verwijderen door de empty-expressie te gebruiken om alle rijen te vinden waarvan de kolommen Toegewezen en Status geen tekst bevatten.To remove them, use the empty expression to identify all rows that don't have any text in the Assigned and Status columns.

Volg alle stappen onder het kopje De and-expressie gebruiken, eerder in dit overzicht, om deze taak uit te voeren. Als u de kaart Voorwaarde in de geavanceerde modus bewerkt, moet u echter de empty-expressie als volgt gebruiken: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']))

Uw Voorwaarde-kaart lijkt op deze afbeelding:Your Condition card resembles this image:

Afbeelding empty-expressie

Nadat uw stroom is uitgevoerd, lijkt het werkblad op de volgende afbeelding:After your flow runs, the spreadsheet resembles this image:

nadat empty is uitgevoerd

U ziet dat de extra regels uit de tabel zijn verwijderd.Notice extra lines are removed from the table.

De greater-expressie gebruikenUse the greater expression

Stel dat u baseballtickets voor uw collega’s hebt gekocht en een werkblad gebruikt om te zorgen dat iedereen u terugbetaalt.Imagine you've bought baseball tickets for your coworkers and you're using a spreadsheet to ensure you're reimbursed by each person. U kunt snel een stroom maken die dagelijks een e-mail stuurt naar elke persoon die nog niet het volledige bedrag heeft betaald.You can quickly create a flow that sends a daily email to each person who hasn't paid the full amount.

Gebruik de greater-expressie om de medewerkers te vinden die niet het volledige bedrag hebben betaald.Use the greater expression to identify the employees who haven't paid the full amount. U kunt vervolgens automatisch een vriendelijke herinneringse-mail sturen aan iedereen die nog niet het volledige bedrag heeft betaald.You can then automatically send a friendly reminder email to those who haven't paid in full.

Hier volgt een overzicht van het werkblad:Here's a view of the spreadsheet:

overzicht van het werkblad

Hier ziet u de implementatie van de greater-expressie, zodat alle personen zichtbaar zijn die minder dan het verschuldigde bedrag hebben betaald: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'])

De less-expressie gebruikenUse the less expression

Stel dat u baseballtickets voor uw collega’s hebt gekocht en een werkblad gebruikt om te zorgen dat iedereen u terugbetaalt op de afgesproken datum.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. U kunt een stroom maken die een herinneringse-mail stuurt naar iedere persoon die het volledige bedrag niet heeft betaald als de huidige datum minder dan één dag voor de vervaldatum ligt.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.

Gebruik de and-expressie samen met de less-expressie omdat er twee voorwaarden moeten worden gevalideerd:Use the and expression along with the less expression since there are two conditions being validated:

Te valideren voorwaardeCondition to validate te gebruiken expressieexpression to use VoorbeeldExample
Is het volledige bedrag terugbetaald?Has the full amount due been paid? greatergreater @greater(item()?['Due'], item()?['Betaald'])@greater(item()?['Due'], item()?['Paid'])
Is de einddatum minder dan één dag verwijderd?Is the due date less than one day away? lessless @less(item()?['DueDate'], addDays(utcNow(),1))@less(item()?['DueDate'], addDays(utcNow(),1))

De expressies greater en less combineren in een and-expressieCombine the greater and less expressions in an and expression

Gebruik de greater-expressie om vast te stellen welke medewerkers minder dan het volledige bedrag hebben betaald en gebruik de less-expressie om vast te stellen of de einddatum voor de betaling minder dan één dag van de huidige datum is verwijderd.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. U kunt vervolgens de functie Een e-mail verzenden gebruiken om een vriendelijke herinneringse-mail te sturen naar diegenen die het volledige bedrag nog niet hebben betaald als de einddatum minder dan één dag is verwijderd.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.

Hier volgt een overzicht van de werkbladtabel:Here's a view of the spreadsheet table:

overzicht van het werkblad

Hier volgt de implementatie van de and-expressie die alle personen in kaart brengt die minder dan het verschuldigde bedrag hebben betaald wanneer de einddatum minder dan één dag van de huidige datum is verwijderd: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)))

Functies gebruiken in expressiesUse functions in expressions

Sommige expressies ontlenen hun waarden aan runtime-acties die mogelijk nog niet bestaan als een stroom wordt uitgevoerd.Some expressions get their values from runtime actions that might not yet exist when a flow starts to run. U kunt functies gebruiken die de taal van de werkstroomdefinitie biedt om naar deze waarden te verwijzen of om ze te gebruiken in expressies.To reference or work with these values in expressions, you can use functions that the Workflow Definition Language provides. Meer informatie: Functiereferentie voor de taal van werkstroomdefinities in Microsoft FlowMore information: Functions reference for Workflow Definition Language in Microsoft Flow