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:

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
Meld u aan bij Power Automate.

Selecteer Mijn stromen.

Selecteer Nieuwe stroom > Geplande cloudstroom.

Een trigger toevoegen aan uw stroom
Geef uw stroom een naam.
Stel in dat de stroom één keer per dag wordt uitgevoerd.
Selecteer de knop Maken om naar de volgende stap te gaan.

Selecteer het werkblad en haal alle rijen op
Selecteer Nieuwe stap.

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.
Selecteer de actie Een lijst maken met rijen in een tabel.

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

Controleer de statuskolom in elke rij
Selecteer Nieuwe stap.
Zoek naar Toepassen op elk en selecteer vervolgens het besturingselement Toepassen op elk.

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.

Selecteer Een actie toevoegen op de kaart Toepassen op elk.

Zoek naar voorwaarde en selecteer vervolgens het besturingselement Voorwaarde.
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:

Overeenkomende rijen verwijderen uit het werkblad
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.
Zoek naar Een rij verwijderen, selecteer Excel Online (Business) en selecteer vervolgens Een rij verwijderen.

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.
Selecteer PowerAppsId in de lijst Sleutelkolom en voeg de dynamische waarde PowerAppsId in het vak Sleutelwaarde in.

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:

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:

De stroom uitvoeren met de and-expressie
Als u de stappen hebt gevolgd, lijkt uw werkblad op de volgende afbeelding:

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

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:

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

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:

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:

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