Expressies in voorwaarden gebruiken om meerdere waarden te controleren
In dit zelfstudie 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'), 'someValue') |
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 Success','Fail')) |
if | Retourneert een specifieke waarde als de expressie tot 'true' of 'false' leidt. | Deze expressie retourneert 'ja':if(equals(1, 1), 'yes', 'no') |
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 deze kolom 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 in het linkerdeelvenster.
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.
Notitie
Power Automate gebruikt de klassieke ontwerper van cloudstromen of de ontwerper van cloudstromen met Copilot. Om te bepalen welke ontwerper u gebruikt, gaat u naar de sectie Opmerking in De nieuwe ontwerper van cloudstromen met copilot-mogelijkheden begrijpen.
Selecteer het werkblad en haal alle rijen op
Selecteer Nieuwe stap.
Zoek naar rijen en selecteer vervolgens Excel Online (Business).
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 bevatten.
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 token waarde vertegenwoordigt de werkbladtabel 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 Or-expressie controleert de waarde van elke rij in de tabel. Als de waarde in de kolom Status voltooidOronnodig is, wordt de Or-expressie geëvalueerd als true.
Hier volgt een voorbeeld van een kaart Voorwaarde.
Overeenkomende rijen verwijderen uit het werkblad
Selecteer Een actie toevoegen in de vertakking Indien ja van de voorwaarde.
De vertakking Indien ja wordt uitgevoerd als de OR-voorwaarde evalueert tot true.
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 zelfstudie.
Selecteer in de vervolgkeuzelijst Sleutelkolom de waarde _PowerAppsId_.
Voeg in het veld Sleutelwaarde de dynamische waarde _PowerAppsId_ in.
Sla uw stroom 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 deze zelfstudie werd weergegeven, ziet u het volgende nadat de uitvoering is voltooid.
Let op dat alle gegevens zijn verwijderd uit rijen waarvan de kolom Status de waarde voltooid of onnodig bevatte.
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 kolom Status de waarde geblokkeerd heeft en de kolom Toegewezen de waarde John Wonder. Volg alle eerdere stappen in deze zelfstudie 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'))
Hier volgt een voorbeeld van een kaart Voorwaarde.
De stroom uitvoeren met de 'and'-expressie
Als u de stappen in deze zelfstudie hebt gevolgd, zou uw werkblad er ongeveer zo uit moeten zien als de volgende schermopname.
Nadat uw stroom is uitgevoerd, zou uw werkblad er ongeveer zo uit moeten zien als in de volgende schermopname.
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.
U kunt deze taak volbrengen door alle stappen die staan vermeld in de sectie De 'and'-expressie gebruiken eerder in deze zelfstudie te volgen. Wanneer u de kaart Voorwaarde bewerkt in geavanceerde modus, gebruikt u de volgende empty-expressie.
@and(empty(item()?['Status']), empty(item()?['Assigned']))
Uw kaart Voorwaarde moet lijken op de volgende schermopname.
Nadat uw stroom is uitgevoerd, zou het werkblad er ongeveer zo uit moeten zien als in de volgende schermopname.
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 herinneringsbericht sturen per e-mail aan iedereen die nog niet het volledige bedrag heeft betaald.
Hier volgt een weergave 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 herinneringsbericht per e-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 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 herinneringsberichten per e-mail te sturen naar medewerkers die het volledige bedrag nog niet hebben betaald als de einddatum minder dan één dag is verwijderd.
Hier volgt een weergave van de werkbladtabel.
Hier volgt de implementatie van de and-expressie die alle medewerkers 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. Ga naar Referentiehandleiding voor werkstroomexpressiefuncties in Azure Logic Apps en Power Automate voor meer informatie .
Gerelateerde informatie
Training: Inleiding tot uitdrukkingen in Power Automate (module)