Bruk uttrykk i betingelser for å kontrollere flere verdier

I denne opplæringen lærer du å bruke uttrykk og betingelser til å sammenligne flere verdier i Avansert modus.

Når du oppretter en skyflyt, kan du bruke Betingelse-kortet i grunnleggende modus til å sammenligne en enkeltverdi med en annen verdi raskt. Noen ganger trenger du imidlertid å sammenligne flere verdier. Du vil for eksempel kontrollere verdien for noen kolonner i et regneark eller en databasetabell.

Du kan bruke en kombinasjon av følgende logiske uttrykk i betingelsene.

Uttrykk Beskrivelse Eksempel
and Tar to argumenter og returnerer sann hvis begge verdiene er sanne.
Obs! Begge argumentene må være boolske verdier.
Dette uttrykket returnerer usann:
and(greater(1,10),equals(0,0))
or Tar to argumenter og returnerer sann hvis ett av dem er sant.
Obs! Begge argumentene må være boolske verdier.
Dette uttrykket returnerer sann:
or(greater(1,10),equals(0,0))
equals Returnerer sann hvis to verdier er like. Hvis for eksempel parameter1 er someValue, returnerer dette uttrykket sann:
equals(parameters('parameter1'), 'someValue')
less Tar to argumenter og returnerer sann hvis det første argumentet er mindre enn det andre argumentet.
Obs! Typer som støttes, er heltall, flyttall og streng.
Dette uttrykket returnerer sann:
less(10,100)
lessOrEquals Tar to argumenter og returnerer sann hvis det første argumentet er mindre enn eller lik det andre argumentet.
Obs! Typer som støttes, er heltall, flyttall og streng.
Dette uttrykket returnerer sann:
lessOrEquals(10,10)
greater Tar to argumenter og returnerer sann hvis det første argumentet er større enn det andre argumentet.
Obs! Typer som støttes, er heltall, flyttall og streng.
Dette uttrykket returnerer usann:
greater(10,10)
greaterOrEquals Tar to argumenter og returnerer sann hvis det første argumentet er større enn eller lik det andre argumentet.
Obs! Typer som støttes, er heltall, flyttall og streng.
Dette uttrykket returnerer usann:
greaterOrEquals(10,100)
empty Returnerer sann hvis objektet, matrisen eller strengen er tom. Dette uttrykket returnerer sann:
empty('')
not Returnerer det motsatte av en boolsk verdi. Dette uttrykket returnerer sann:
not(contains('200 Success','Fail'))
if Returnerer en bestemt verdi hvis uttrykket resulterer i sann eller usann. Dette uttrykket returnerer «yes»:
if(equals(1, 1), 'yes', 'no')

Forutsetninger

Her er det du trenger for å fullføre gjennomgangen.

  • Tilgang til Power Automate.
  • Ditt eget regneark med tabeller som beskrives senere i denne gjennomgangen. Husk å lagre regnearket i en plassering som Dropbox eller Microsoft OneDrive, slik at Power Automate har tilgang til det.
  • Microsoft 365 Outlook (selv om vi bruker Outlook her, kan du bruke hvilken som helst av de støttede e-posttjenestene i flytene dine.)

Bruk av «or»-uttrykket

Noen ganger må arbeidsflyten utføre en handling hvis verdien for et element er verdiA eller verdiB. Det kan for eksempel hende at du sporer statusen for oppgaver i en regnearktabell. La oss si at tabellen har en kolonne kalt Status, og de mulige verdiene i denne kolonnen er følgende:

  • completed
  • blocked
  • unnecessary
  • not started

Her er et eksempel på hvordan regnearket kan se ut:

Skjermbilde av et regnearkeksempel med en Status-kolonne.

Gitt det foregående regnearket vil du bruke Power Automate til å fjerne alle rader med en Status-kolonne som er satt til completed eller unnecessary.

La oss opprette flyten.

Start med en tom flyt

  1. Logg på Power Automate.

  2. Velg Mine flyter i venstre rute.

  3. Velg Ny flyt>Planlagt skyflyt.

Legg til en utløser i flyten

  1. Gi flyten et navn.

  2. Angi at tidsplanen skal kjøre flyten én gang daglig.

  3. Velg Opprett-knappen for å gå til neste trinn.

Merk

Power Automate bruker den klassiske skyflytutformingen eller skyflytutformingen med Copilot. Du kan finne ut hvilken utforming du bruker, ved å gå til Obs!-delen i Forstå skyflytutformingen med copilotfunksjoner.

Velg regnearket og hent alle rader

  1. Velg Nytt trinn.

  2. Søk etter rader, og velg deretter Excel Online (Business).

    Velg handlingen hent en rad som svarer til regnearket du bruker. Hvis du for eksempel bruker Google Regneark, velger du Google Regneark – Hent rader.

  3. Velg handlingen Vis rader i en tabell.

    Skjermbilde av visning av rader i en tabell.

  4. Velg Plassering, Dokumentbibliotek, Fil og Tabell som inneholder dataene.

    Skjermbilde av feltene Plassering, Dokumentbibliotek, Fil og Tabell på kortet Vis rader i en tabell.

Kontroller statuskolonnen for hver rad

  1. Velg Nytt trinn.

  2. Søk etter bruk på alle, og velg deretter Bruk på alle – Kontroll.

  3. Legg til verdi-tokenet i boksen Velg utdata fra tidligere trinn.

    Dette verdi-tokenet representerer regnearktabellen og alle dataene.

  4. Velg Legg til en handling på kortet Bruk på alle.

  5. Søk etter betingelse, og velg deretter Betingelse-kontrollen.

  6. Legg til følgende Or-uttrykk. Dette Or-uttrykket kontrollerer verdien i tabellen. Hvis verdien for status-kolonnen er fullførtellerunødvendig, returnerer eller-uttrykket «sann».

    Her er et eksempel på et Betingelse-kort.

    Skjermbilde av et «or»-uttrykk.

Slett samsvarende rader fra regnearket

  1. Velg Legg til en handlingHvis ja-grenen for betingelsen.

    Hvis ja-grenen kjører hvis OR-betingelsen evalueres til true.

  2. Søk etter Slett en rad, velg Excel Online (Business), og velg deretter Slett en rad.

  3. På kortet Slett en rad angir du boksene Plassering, Dokumentbibliotek, Fil og Tabell nøyaktig slik du angir disse boksene på kortet Vis rader i en tabell tidligere i denne opplæringen.

  4. I Nøkkelkolonne-rullegardinlisten velger du _PowerAppsId_.

  5. Sett inn den dynamiske verdien _PowerAppsId_ i Nøkkelverdi-feltet.

  6. Lagre flyten.

Kjør flyten med «or»-uttrykket

Flyten kjøres etter at du har lagret den. Hvis du opprettet regnearket som ble vist tidligere i denne opplæringen, kan du her se hvordan det ser ut etter at kjøringen er fullført.

Skjermbilde av regnearket etter at OR-uttrykket er fullført.

Legg merke til at alle dataene fra rader som hadde completed eller unnecessary i Status-kolonnen, ble slettet.

Bruk av «and»-uttrykket

La oss si at du har en regnearktabell med to kolonner. Kolonnenavnene er Status og Assigned. La oss også si at du vil slette alle rader hvis verdien i Status-kolonnen er blocked, og verdien i Assigned-kolonnen er John Wonder. For å kunne fullføre denne oppgaven må du følge alle trinnene tidligere i denne opplæringen, men når du redigerer Betingelse-kortet i avansert modus, bruker du and-uttrykket som vises her.

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

Her er et eksempel på et Betingelse-kort.

Skjermbilde av «and»-uttrykket.

Kjør flyten med «and»-uttrykket

Hvis du har fulgt fremgangsmåten i denne opplæringen, skal regnearket ligne på det på skjermbildet nedenfor.

Skjermbilde av regnearket før flyten kjører.

Etter at flyten har kjørt, skal regnearket ligne på det på skjermbildet nedenfor.

Skjermbilde av regnearket etter at flyten har kjørt.

Bruk av «empty»-uttrykket

Legg merke til at det er flere tomme rader i regnearket. Hvis du vil fjerne dem, kan du bruke empty-uttrykket til å identifisere alle rader som ikke har noe tekst i kolonnene Assigned og Status.

Du kan fullføre denne oppgaven ved å følge alle trinnene i delen Bruk av «and»-uttrykket tidligere i denne opplæringen. Når du redigerer Betingelse-kortet i avansert modus, bruker du følgende empty-uttrykk.

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

Betingelse-kortet skal ligne på det på skjermbildet nedenfor.

Skjermbilde av «empty»-uttrykket.

Etter at flyten har kjørt, skal regnearket ligne på det på skjermbildet nedenfor.

Skjermbilde av regnearket etter at «empty» har kjørt.

Legg merke til at ekstra linjer ble fjernet fra tabellen.

Bruk av «greater»-uttrykket

Tenk deg at du har kjøpt baseballbilletter til kollegene dine, og du bruker et regneark til å sikre at hver person betaler deg tilbake. Du kan raskt opprette en skyflyt som sender en daglig e-post til hver person som ikke har betalt hele beløpet.

Bruk greater-uttrykket til å identifisere kollegene som ikke har betalt hele beløpet. Du kan deretter sende en påminnelse via e-post automatisk til de som ikke har betalt hele beløpet.

Her er en visning av regnearket.

Skjermbilde av regnearket for de som ikke har betalt hele beløpet.

Her er implementeringen av greater-uttrykket som identifiserer alle personer som har betalt mindre enn beløpet de skylder.

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

Bruk av «less»-uttrykket

Tenk deg at du har kjøpt baseballbilletter til kollegene dine, og du bruker et regneark til å sikre at hver person betaler deg tilbake innen datoen som alle ble enige i. Du kan opprette en skyflyt som sender en e-postpåminnelse til hver person som ikke har betalt hele beløpet, hvis dagens dato er mindre enn én dag før forfallsdatoen.

Bruk and-uttrykket sammen med less-uttrykket siden det er to betingelser som skal valideres.

Betingelsen som skal valideres Uttrykket som skal brukes Eksempel
Har det fullstendige beløpet som skyldes, blitt betalt? greater @greater(item()?['Due'], item()?['Paid'])
Er forfallsdatoen mindre enn én dag unna? less @less(item()?['DueDate'], addDays(utcNow(),1))

Kombinasjon av «greater»- og «less»-uttrykk i et «and»-uttrykk

Bruk greater-uttrykket til å identifisere kollegene som har betalt for mindre enn beløpet de skylder, og bruk less-uttrykket til å finne ut om forfallsdatoen er mindre enn én dag fra gjeldende dato. Du kan deretter bruke handlingen Send en e-postmelding til å sende en påminnelse via e-post til de ansatte som ikke har betalt hele beløpet når forfallsdatoen er mindre enn én dag unna.

Her er en visning av regnearktabellen.

Skjermbilde av regnearktabellen.

Her er implementeringen av and-uttrykket som identifiserer alle ansatte som har betalt mindre enn beløpet de skylder, og når forfallsdatoen er mindre enn én dag fra gjeldende dato:

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

Bruk av funksjoner i uttrykk

Noen uttrykk får verdiene sine fra kjøretidshandlinger som kanskje ikke eksisterer når en skyflyt begynner å kjøre. Hvis du vil referere til eller arbeide med disse verdiene i uttrykk, kan du bruke funksjoner fra arbeidsflytdefinisjonsspråket. Mer informasjon. Hvis du vil vite mer, kan du gå til Referanseveiledning for funksjoner for arbeidsflytuttrykk i Azure Logic Apps og Power Automate.