Bruge udtryk i betingelser til at kontrollere flere værdier

I dette selvstudium får du mere at vide om, hvordan du bruger udtryk og betingelser til at sammenligne flere værdier i avanceret tilstand.

Når du opretter et cloudflow, kan du bruge kortet Betingelse i grundlæggende tilstand til hurtigt at sammenligne en enkelt værdi med en anden værdi. Der vil dog nogle gange være behov for at sammenligne flere værdier. Det kan f.eks. være, at du vil kontrollere værdien af et par kolonner i et regneark eller en databasetabel.

Du kan bruge en vilkårlig kombination af følgende logiske udtryk i dine betingelser.

Udtryk Beskrivelse Eksempel
and Kræver to argumenter og returnerer sand, hvis begge værdier er sande.
Bemærk: Begge argumenter skal være booleske værdier.
Dette udtryk returnerer falsk:
and(greater(1,10),equals(0,0))
or Kræver to argumenter og returnerer sand, hvis et af argumenterne er sande.
Bemærk: Begge argumenter skal være booleske værdier.
Udtrykket returnerer sand:
or(greater(1,10),equals(0,0))
equals Returnerer sand, hvis to værdier er ens. Hvis parameter1 f.eks. er someValue, returnerer udtrykket sand:
equals(parameters('parameter1'), 'someValue')
less Kræver to argumenter og returnerer sand, hvis det første argument er mindre end det andet argument.
Bemærk: De understøttede typer er heltal, flydende og streng.
Udtrykket returnerer sand:
less(10,100)
lessOrEquals Kræver to argumenter og returnerer sand, hvis det første argument er mindre end eller lig med det andet argument.
Bemærk: De understøttede typer er heltal, flydende og streng.
Udtrykket returnerer sand:
lessOrEquals(10,10)
greater Kræver to argumenter og returnerer sand, hvis det første argument er større end det andet argument.
Bemærk: De understøttede typer er heltal, flydende og streng.
Udtrykket returnerer falsk:
greater(10,10)
greaterOrEquals Kræver to argumenter og returnerer sand, hvis det første argument er større end eller lig med det andet argument.
Bemærk: De understøttede typer er heltal, flydende og streng.
Udtrykket returnerer falsk:
greaterOrEquals(10,100)
empty Returnerer sand, hvis objektet, matrixen eller strengen er tom. Udtrykket returnerer sand:
empty('')
not Returnerer det modsatte af en boolesk værdi. Udtrykket returnerer sand:
not(contains('200 Success','Fail'))
if Returnerer en bestemt værdi, hvis udtrykket resulterer i sand eller falsk. Udtrykket returnerer "ja":
if(equals(1, 1), 'yes', 'no')

Forudsætninger

Her er, hvad du skal gøre for at fuldføre denne gennemgang.

  • Adgang til Power Automate.
  • Dit regneark med de tabeller, der er beskrevet senere i denne gennemgang. Sørg for at gemme regnearket på en placering som f.eks. Dropbox eller Microsoft OneDrive, så Power Automate kan få adgang til det.
  • Microsoft 365 Outlook (når vi bruger Outlook her, kan du bruge de understøttede mailtjenester i dine flows).

Brug udtrykket 'or'

Nogle gange må arbejdsprocessen udføre en handling, hvis værdien af et element er valueA or valueB. Det kan f.eks. være, at du sporer status for opgaver i en tabel i et regneark. Antag, at tabellen har en kolonne med navnet Status, og at de mulige værdier i denne kolonne er:

  • fuldført
  • blokeret
  • unødvendig
  • ikke startet

Her følger et eksempel på, hvordan regnearket kan se ud:

Skærmbillede af et eksempelark med kolonnen Status.

Med det foregående regneark vil du bruge Power Automate til at fjerne alle rækker med en Status-kolonne, der er angivet til fuldført eller unødvendig.

Lad os oprette flowet.

Start med et tomt flow

  1. Log på Power Automate.

  2. Vælg Mine flow i venstre rude.

  3. Vælg Nyt flow>Planlagt cloudflow.

Føj en udløser til dit flow

  1. Navngiv dit flow.

  2. Angiv, at tidsplanen skal køre flowet én gang dagligt.

  3. Vælg knappen Opret for at gå videre til næste trin.

Bemærk

Power Automate bruger enten den klassiske cloudflowdesigner eller cloudflowdesigneren med Copilot. Du kan se, hvilken designer du bruger, ved at gå til afsnittet Note i Om den cloudflowdesigner med Copilot-funktioner.

Vælg regnearket, og hent alle rækker

  1. Vælg Nyt trin.

  2. Søg efter rækker, og vælg derefter Excel Online (Business).

    Vælg den hent en række-handling, som svarer til det regneark, du bruger. Hvis du f.eks. bruger Google Sheets, skal du vælge Google Sheets – Hent rækker.

  3. Vælg handlingen Vis de rækker, der findes i en tabel.

    Skærmbillede af lister med rækker i en tabel.

  4. Vælg Placering, Dokumentbibliotek, Fil og Tabel, der indeholder dataene.

    Skærmbillede af felterne Placering, Dokumentbibliotek, Fil og Tabel i de listerækker, der findes i et tabelkort.

Kontrollér statuskolonnen for hver række

  1. Vælg Nyt trin.

  2. Søg efter Anvend på hver, og vælg derefter Anvend på hver - Kontrolelement.

  3. Føj tokenet værdi til feltet Vælg et output fra de tidligere trin.

    Dette værdi-token repræsenterer regnearkstabellen og alle dataene i den.

  4. Vælg Tilføj en handling på kortet Anvend på hver.

  5. Søg efter betingelse, og vælg derefter kontrolelementet Betingelse.

  6. Tilføj følgende Or-udtryk. Dette Or-udtryk kontrollerer værdien af hver række i tabellen. Hvis værdien af kolonnen Status er fuldførtellerunødvendig, evalueres udtrykket eller til "sand".

    Her er et eksempel på et Betingelse-kort.

    Skærmbillede af et 'or'-udtryk.

Slet matchende rækker fra regnearket

  1. Vælg Tilføj en handling på grenen Hvis ja på betingelsen.

    Hvis ja-grenen køres, hvis OR-betingelsen evalueres til sand.

  2. Søg efter Slet en række, vælg Excel Online (Business), og vælg derefter Slet en række.

  3. Angiv felterne Placering, Dokumentbibliotek, Fil og Tabel på kortet Slet en række nøjagtigt, når du angiver disse felter på kortet Vis de rækker, der findes i en tabel tidligere i dette selvstudium.

  4. Vælg _PowerAppsId_ på rullelisten Nøglekolonne.

  5. Indsæt den dynamiske værdi ‑PowerAppsId_ i feltet Nøgleværdi.

  6. Gem dit flow.

Kør flowet med udtrykket 'or'

Flowet køres, når du har gemt det. Hvis du har oprettet det regneark, der blev vist tidligere i dette selvstudium, vil det se sådan ud, når kørslen er fuldført:

Skærmbillede af regnearket, når 'OR'-udtrykket er fuldført.

Bemærk, at alle data fra de rækker, der havde fuldført eller unødvendig i kolonnen Status, er slettet.

Brug udtrykket 'and'

Antag, at du har en regnearkstabel med to kolonner. Kolonnenavnene er Status og Tildelt. Antag desuden, at du vil slette alle rækker, hvis værdien i kolonnen Status er blokeret, og værdien i kolonnen Tildelt er John Wonder. For at udføre denne opgave skal du følge alle tidligere trin i dette selvstudium, når du redigerer kortet Betingelse i avanceret tilstand og bruge det and-udtryk, der er vist her.

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

Her er et eksempel på et Betingelse-kort.

Skærmbillede af et 'and'-udtryk.

Kør flowet med udtrykket 'and'

Hvis du har fulgt trinnene i dette selvstudium, skal regnearket se ud på samme måde som følgende skærmbillede.

Skærmbillede af regnearket, før flowet køres.

Når flowet er kørt, skal regnearket se ud på samme måde som følgende skærmbillede.

Skærmbillede af regnearket, efter flowet køres.

Brug udtrykket 'empty'

Bemærk, at der nu er adskillige tomme rækker i regnearket. Hvis du vil fjerne dem, skal du bruge udtrykket empty til at identificere alle de rækker, der ikke har nogen tekst i kolonnerne Tildelt og Status.

Hvis du vil udføre denne opgave, skal du følge alle de trin, der er angivet i afsnittet Brug udtrykket 'and' tidligere i dette selvstudium. Når du redigerer Betingelse-kortet i avanceret tilstand, skal du bruge følgende empty-udtryk.

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

Dit Betingelse-kort skal lignende følgende skærmbillede.

Skærmbillede af et 'empty'-udtryk.

Når flowet er kørt, skal regnearket se ud på samme måde som følgende skærmbillede.

Skærmbillede af regnearket efter kørsel af 'empty'.

Bemærk, at ekstra linjer er fjernet fra tabellen.

Brug udtrykket 'greater'

Forestil dig, at du har købt billetter til en sportsbegivenhed for dine kollegaer, og at du bruger et regneark til at sikre, at du får betaling af hver enkelt person. Du kan hurtigt oprette et cloudflow, der sender en daglig mail til hver person, som ikke har betalt hele beløbet.

Brug udtrykket greater til at identificere de medarbejdere, som ikke har betalt hele beløbet. Du kan derefter automatisk sende en påmindelse via mail til dem, der ikke har betalt hele beløbet.

Her er et overblik over regnearket.

Skærmbillede af regnearket med dem, der ikke har betalt fuldt ud.

Her er implementeringen af udtrykket greater, der identificerer alle de personer, som har betalt mindre end det beløb, de skylder.

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

Brug udtrykket 'less'

Forestil dig, at du har købt billetter til en sportsbegivenhed for dine kollegaer, og at du bruger et regneark til at sikre, at du får betaling af hver enkelt person inden en aftalt dato. Du kan oprette et cloudflow, der sender en mail med en påmindelse til hver person, som ikke har betalt det fulde beløb, hvis dags dato er mindre end én dag fra forfaldsdatoen.

Brug udtrykket and sammen med udtrykket less, da der er to betingelser, der valideres.

Betingelse, der skal valideres Udtryk, der skal bruges Eksempel
Er hele det skyldige beløb blevet betalt? greater @greater(item()?['Due'], item()?['Paid'])
Er der mindre end én dag til forfaldsdatoen? less @less(item()?['DueDate'], addDays(utcNow(),1))

Kombiner udtrykkene 'greater' og 'less' i et 'and'-udtryk

Brug udtrykket greater til at identificere de medarbejdere, der har betalt mindre end det fulde beløb, og brug udtrykket less til at afgøre, om forfaldsdatoen for betalingen er mindre end én dag fra dags dato. Derefter kan du bruge handlingen Send en mail til at sende en mail til dem, der ikke har betalt det fulde beløb, når der er mindre end én dag til forfaldsdatoen.

Her er en visning af regnearkstabellen.

Skærmbillede af regnearkstabellen.

Her er implementering af udtrykket and, der identificerer alle medarbejdere, som har betalt mindre end det beløb, de skylder, og hvor forfaldsdatoen er mindre end én dag fra dags dato.

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

Brug funktioner i udtryk

Nogle udtryk henter deres værdier fra runtime-handlinger, som muligvis ikke findes endnu, når et cloudflow begynder at køre. Hvis du vil henvise til eller arbejde med disse værdier i udtryk, kan du bruge de funktioner, som Workflow Definition Language indeholder. Mere information. Du kan få mere at vide i Referencevejledning til funktioner til arbejdsprocessers udtryk i Azure Logic Apps og Power Automate.