Expressies in voorwaarden gebruiken om meerdere waarden te controleren

In dit overzicht leert u hoe u expressies en voorwaarden kunt gebruiken om in de Geavanceerde modus meerdere waarden te vergelijken.

Als u een cloudstroom maakt, kunt u de kaart Voorwaarde in de basismodus gebruiken om snel een waarde met een andere waarde te vergelijken. Er zijn echter momenten waarop u meerdere waarden moet vergelijken. U wilt bijvoorbeeld de waarde van een paar kolommen in een werkblad of databasetabel controleren.

U kunt elke willekeurige combinatie van de volgende logische expressies in uw voorwaarden gebruiken.

Expression Beschrijving Voorbeeld
and Neemt twee argumenten en retourneert 'true' als beide waarden waar zijn.
Opmerking: beide argumenten moeten Booleaanse waarden zijn.
Deze expressie retourneert 'false':
and(greater(1,10),equals(0,0))
or Neemt twee argumenten en retourneert 'true' als een van beide waarden waar is.
Opmerking: beide argumenten moeten Booleaanse waarden zijn.
Deze expressie retourneert 'true':
or(greater(1,10),equals(0,0))
equals Retourneert 'true' als twee waarden gelijk zijn. Deze functie retourneert bijvoorbeeld 'true' als parameter1 eenWaarde is:
equals(parameters('parameter1'), 'eenWaarde')
less Neemt twee argumenten en retourneert 'true' als het eerste argument minder is dan het tweede argument.
Opmerking: de ondersteunde typen zijn geheel getal, drijvend en tekenreeks.
Deze expressie retourneert 'true':
less(10,100)
lessOrEquals Neemt twee argumenten en retourneert 'true' als het eerste argument minder is dan of gelijk is aan het tweede argument.
Opmerking: de ondersteunde typen zijn geheel getal, drijvend en tekenreeks.
Deze expressie retourneert 'true':
lessOrEquals(10,10)
greater Neemt twee argumenten en retourneert 'true' als het eerste argument groter is dan het tweede argument.
Opmerking: de ondersteunde typen zijn geheel getal, drijvend en tekenreeks.
Deze expressie retourneert 'false':
greater(10,10)
greaterOrEquals Neemt twee argumenten en retourneert 'true' als het eerste argument groter is dan of gelijk is aan het tweede argument.
Opmerking: de ondersteunde typen zijn geheel getal, drijvend en tekenreeks.
Deze expressie retourneert 'false':
greaterOrEquals(10,100)
empty Retourneert 'true' als het object, de matrix of de tekenreeks leeg is. Deze expressie retourneert 'true':
empty('')
not Retourneert het tegenovergestelde van een Booleaanse waarde. Deze expressie retourneert 'true':
not(contains('200 Geslaagd','Mislukt'))
if Retourneert een specifieke waarde als de expressie tot 'true' of 'false' leidt. Deze expressie retourneert 'ja':
if(equals(1, 1), 'ja', 'nee')

Vereisten

Dit is wat u moet doen om deze procedure af te ronden.

  • Toegang tot Power Automate.
  • Uw eigen werkblad met de tabellen die later in dit overzicht worden beschreven. Sla uw werkblad op een locatie zoals Dropbox of Microsoft OneDrive op, zodat Power Automate er toegang toe heeft.
  • Microsoft 365 Outlook (we gebruiken Outlook, maar u kunt elke ondersteunde e-mailservice in uw stromen gebruiken.)

De or-expressie gebruiken

Soms moet uw werkstroom een actie uitvoeren als de waarde van een item waardeA of waardeB is. U kunt bijvoorbeeld de status van taken in een tabel op een werkblad bijhouden. Stel dat de tabel een kolom bevat met de naam Status en dat de mogelijke waarden in de kolom Status als volgt zijn:

  • Voltooid
  • geblokkeerd
  • onnodig
  • niet gestart

Het werkblad kan er dan als volgt uitzien:

voorbeeldwerkblad.

Gezien het voorgaande werkblad wilt u mogelijk Power Automate gebruiken om alle rijen te verwijderen waarin de kolom Status is ingesteld op voltooid of onnodig.

Laten we de stroom maken.

Begin met een lege stroom

  1. Meld u aan bij Power Automate.

    aanmelden.

  2. Selecteer Mijn stromen.

    Selecteer mijn stromen.

  3. Selecteer Nieuwe stroom > Geplande cloudstroom.

    Maak een geplande cloudstroom.

Een trigger toevoegen aan uw stroom

  1. Geef uw stroom een naam.

  2. Stel in dat de stroom één keer per dag wordt uitgevoerd.

  3. Selecteer de knop Maken om naar de volgende stap te gaan.

    schema instellen.

Selecteer het werkblad en haal alle rijen op

  1. Selecteer Nieuwe stap.

    Selecteer nieuwe stap.

  2. Zoek naar rijen en selecteer vervolgens Excel Online (Business).

    Opmerking: selecteer de actie 'rij ophalen' die overeenkomt met het werkblad dat u gebruikt. Als u bijvoorbeeld Google Sheets gebruikt, selecteert u Google Sheets - Rijen ophalen.

  3. Selecteer de actie Een lijst maken met rijen in een tabel.

    Haal een rij op.

  4. Selecteer Locatie, Documentbibliotheek, Bestand en Tabel die uw gegevens bevat.

    werkblad selecteren.

Controleer de statuskolom in elke rij

  1. Selecteer Nieuwe stap.

  2. Zoek naar Toepassen op elk en selecteer vervolgens het besturingselement Toepassen op elk.

    De bewerking 'toepassen op elke' toevoegen.

  3. Voeg het token Waarde toe aan het vak Een uitvoer selecteren uit de vorige stappen.

    Dit waarde token vertegenwoordigt de spreadsheettabel en al zijn gegevens.

    Een waarde toevoegen.

  4. Selecteer Een actie toevoegen op de kaart Toepassen op elk.

    Voeg nog een actie toe.

  5. Zoek naar voorwaarde en selecteer vervolgens het besturingselement Voorwaarde.

  6. Voeg de volgende or-expressie toe. Deze of-expressie controleert de waarde van elke rij in de tabel. Als de waarde in de kolom status voltooid of onnodig is, wordt de or-expressie geëvalueerd als 'true'.

    Uw Voorwaarde-kaart lijkt op deze afbeelding:

    afbeelding or-expressie.

Overeenkomende rijen verwijderen uit het werkblad

  1. Selecteer Een actie toevoegen in de vertakking Indien ja van de voorwaarde.

    De vertakking Zo ja wordt uitgevoerd als de of-voorwaarde evalueert tot waar.

  2. Zoek naar Een rij verwijderen, selecteer Excel Online (Business) en selecteer vervolgens Een rij verwijderen.

    afbeelding voor rij verwijderen.

  3. Stel op de kaart Een rij verwijderen de vakken Locatie, Documentbibliotheek, Bestand en Tabel precies zo in als op de kaart Een lijst maken met rijen in een tabel eerder in deze procedure.

  4. Selecteer PowerAppsId in de lijst Sleutelkolom en voeg de dynamische waarde PowerAppsId in het vak Sleutelwaarde in.

    werkbladbestand.

  5. Sla uw wijzigingen op!

De stroom uitvoeren met de or-expressie

De stroom wordt uitgevoerd nadat u deze hebt opgeslagen. Als u het werkblad hebt gemaakt dat eerder in dit overzicht werd weergegeven, ziet u het volgende nadat de uitvoering is voltooid:

or-expressie is voltooid.

Let op dat alle gegevens uit rijen waarvan de kolom Status 'voltooid' of 'onnodig' bevatte zijn verwijderd.

De and-expressie gebruiken

Stel dat u een werkbladtabel hebt met twee kolommen. De kolomnamen zijn Status en Toegewezen. 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. 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:

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

Uw Voorwaarde-kaart lijkt op deze afbeelding:

afbeelding and-expressie.

De stroom uitvoeren met de and-expressie

Als u de stappen hebt gevolgd, lijkt uw werkblad op de volgende afbeelding:

voordat and wordt uitgevoerd.

Nadat uw stroom is uitgevoerd, lijkt uw werkblad op de volgende afbeelding:

nadat and is uitgevoerd.

De empty-expressie gebruiken

U ziet dat er nu verschillende lege rijen in het werkblad zijn. U kunt ze verwijderen door de empty-expressie te gebruiken om alle rijen te vinden waarvan de kolommen Toegewezen en Status geen tekst bevatten.

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:

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

Uw Voorwaarde-kaart lijkt op deze afbeelding:

afbeelding empty-expressie.

Nadat uw stroom is uitgevoerd, lijkt het werkblad op de volgende afbeelding:

nadat empty is uitgevoerd.

U ziet dat de extra regels uit de tabel zijn verwijderd.

De greater-expressie gebruiken

Stel dat u voetbaltickets voor uw collega’s hebt gekocht en een werkblad gebruikt om te zorgen dat iedereen u terugbetaalt. U kunt snel een cloudstroom maken die dagelijks een e-mail stuurt naar elke persoon die nog niet het volledige bedrag heeft betaald.

Gebruik de greater-expressie om de medewerkers te vinden die niet het volledige bedrag hebben betaald. U kunt vervolgens automatisch een vriendelijke herinneringse-mail sturen aan iedereen die nog niet het volledige bedrag heeft betaald.

Hier volgt een overzicht van het werkblad:

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:

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

De less-expressie gebruiken

Stel dat u voetbaltickets voor uw collega’s hebt gekocht en een werkblad gebruikt om te zorgen dat iedereen u terugbetaalt op de afgesproken datum. U kunt een cloudstroom 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.

Gebruik de and-expressie samen met de less-expressie omdat er twee voorwaarden moeten worden gevalideerd:

Te valideren voorwaarde te gebruiken expressie Voorbeeld
Is het volledige bedrag terugbetaald? greater @greater(item()?['Due'], item()?['Paid'])
Is de einddatum minder dan één dag verwijderd? less @less(item()?['DueDate'], addDays(utcNow(),1))

De greater- en less-expressies combineren in een and-expressie

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. 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.

Hier volgt een overzicht van de werkbladtabel:

weergave van werkbladtabel.

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:

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

Functies gebruiken in expressies

Sommige expressies ontlenen hun waarden aan runtime-acties die mogelijk nog niet bestaan als een cloudstroom wordt uitgevoerd. U kunt functies gebruiken die de taal van de werkstroomdefinitie biedt om naar deze waarden te verwijzen of om ze te gebruiken in expressies. Meer informatie: Functiereferentie voor de taal van werkstroomdefinities in Power Automate