Dela via


Använda uttryck i villkor för att kontrollera flera värden

När du skapar ett molnflöde, kan du använda åtgärden Villkor för att snabbt jämföra ett värde med ett annat. Det finns emellertid tillfällen när du behöver jämföra flera värden. Du kanske vill kontrollera värdet för flera kolumner i ett kalkylblad eller databastabell.

I den här självstudiekursen skapar du ett molnflöde och använder villkoret or . I avsnittet Scenarier för andra vanliga uttryck får du lära dig hur du använder andra uttryck som and, empty, greater och less i villkor.

Förutsättningar

För att slutföra den här självstudien.

  • Åtkomst till Power Automate.
  • Ditt eget kalkylblad med tabeller beskrivs senare i den här självstudien. Glöm inte att spara kalkylbladet på en plats som Dropbox eller Microsoft OneDrive så att Power Automate kan komma åt den.
  • Microsoft 365 Outlook (medan vi använder Outlook i den här självstudien kan vi använda alla tjänster som stöds för e-post i din flöden.)

Skapa ett molnflöde

Du kan skapa ett molnflöde med naturligt språk i Copilot eller skapa det från grunden. Om du har åtkomst till Copilot väljer du fliken Använda copilot för att skapa flödet. Om du inte har åtkomst till Copilot väljer du fliken Utan copilot .

  1. Logga in på Power Automate.

  2. Be Copilot att skapa ett flöde för dig. Kopiera följande prompt och klistra in den i Copilot-fältet:

    Every week, list rows in an Excel table, and if the Status column equals Succeeded or claim manager's email is jake@contoso.com, delete Excel row.
    
  3. Välj Generera.

  4. Välj Behåll och fortsätt.

  5. Granska anslutningar. Om dina datakällor är korrekt anslutna visas en grön bock bredvid appen eller tjänsten. Om en grön bock inte visas väljer du appen eller tjänsten och följer instruktionerna.

  6. När anslutningarna har angetts väljer du Skapa flöde. Skärmen designer öppnas. Det är här du kan konfigurera ditt molnflöde om det behövs.

  7. Gå till Välj kalkylbladet och hämta alla rader.

Välj kalkylbladet och hämta alla rader

När du har skapat ett molnflöde hämtar du en kalkylbladstabell med kolumnen Status. Möjliga värden i kolumnen Status är:

Ibland behöver ditt arbetsflöde välja en åtgärd om värdet för ett objekt är valueAellervalueB. Du vill till exempel kanske vill spåra statusen för uppgifter i ett kalkylblad. Anta att tabellen har en kolumn med namnet Status och att de möjliga värdena i kolumnen:

  • completed
  • blocked
  • unnecessary
  • not started

Här är ett exempel på hur kalkylbladet kan se ut:

Skärmbild av ett exempelkalkylark med en statuskolumn.

Om du vill arbeta med kalkylbladet börjar du i designern. Gör detta i antingen den nya designern eller den klassiska designern. Stegen är likartade i båda designerna. Läs mer (med exempel) i Identifiera skillnader mellan den nya designern och den klassiska molnflödesdesignern.

  1. Skapa ett molnflöde eller välj ett i listan över dina befintliga molnflöden genom att välja Mina flöden i det vänstra navigeringsfönstret >Redigera.

  2. I designern, välj åtgärdskortet Lista rader närvarande i en tabell.

  3. På fliken Parametrar väljer du Plats, Dokumentbibliotek, Fil och Tabell.

    Skärmbild av parametrarna för listrader i en tabell i Copilot.

  4. Dölj konfigurationspanelen genom att välja (<<) i konfigurationesrutans övre högra hörn.

  5. Gå till Lägg till ett villkor.

Lägga till ett villkor

Innan du kan lägga till ett villkor för att kontrollera värdet i kolumnen Status på varje rad i kalkylbladstabellen måste du kontrollera att du har utfört följande procedurer i den här självstudien:

  1. I designern lägger du till ett nytt steg genom att välja plustecknet (+) >Lägg till en åtgärd.

  2. På skärmen Lägg till åtgärd, sök efter använd för varje och välj Använd för varje under Kontroll.

  3. Lägg till token värde i rutan Välj en utdata från föregående steg genom att välja inuti fältet och sedan välja blixtikonen.

    Skärmbild på hur du väljer ett värde i föregående steg.

    Detta värde token representerar kalkylbladstabellen och alla data.

  4. I kortet Tillämpa på varje, lägg till ett nytt steg genom att välja plustecknet (+) >Lägg till en åtgärd.

  5. Sök efter villkor och välj kontrollen Villkor.

  6. Lägg till följande OR-uttryck. Det här OR uttrycket kontrollerar värdet för varje rad i tabellen.

    Om värdet för kolumnen Status är slutfördOronödig, returnerar uttrycket ORtrue.

    Här är ett exempel på kortet villkor.

    Skärmbild på hur du väljer ett värde i föregående steg.

  7. Gå till Ta bort matchande rader i kalkylbladet.

Ta bort matchande rader i kalkylbladet

I den här självstudien använder du villkoret Or för att ta bort rader med värdet completed eller unnecessary från kalkylbladet. Innan du kan lägga till åtgärden Ta bort en rad måste du se till att du har utfört följande procedurer:

  1. I designern väljer du plustecknet (+) och du vill lägga till en åtgärd i grenen Sant för villkoret.

    Grenen Sant körs om Eller-villkoret beräknas som Sant.

  2. Sök efter Excel Online (företag) och välj sedan Ta bort en rad.

    Skärmbild på hur du tar bort en rad.

  3. På panelen Ta bort en rad anger du rutorna Plats, Dokumentbibliotek, Fil och Tabell precis som du ställde in dessa rutor på kortet Lista rader som finns i en tabell tidigare i denna självstudie.

  4. I listrutan Nyckelkolumn väljer du _PowerAppsId_.

  5. I fältet Nyckelvärde infogar du det dynamiska värdet _PowerAppsId_.

  6. Gå till Spara och testa molnflödet.

Spara och testa ditt molnflöde

  1. I designern väljer du Spara Ett grönt meddelande visas som säger att Ditt flöde är redo att användas. Vi rekommenderar att du testar det.
  2. Välj Testa för att köra flödet.
  3. I panelen Testa flöde väljer du Manuellt>Testa.
  4. Välj Kör flöde i panelen Kör flöde. Om ditt flöde är korrekt konfigurerat visas ett meddelande som säger Din flödeskörning har startats. Om du vill övervaka den går du till Flödeskörningssidan.
  5. Stäng panelenen genom att Köra flöde, välj Klar.

Klar! Du har skapat ett molnflöde som tar bort rader från en kalkylbladstabell om värdet i kolumnen Status är antingen completed eller unnecessary. Så här ska kalkylarket se ut när körningen är klar.

Skärmbild på kalkylbladet när ”OR”-uttrycket har slutförts.

Observera att alla data från rader som har slutförd eller onödig i status kolumnen har tagits bort.

Scenarier för andra vanliga uttryck

I det här avsnittet får du lära dig hur du använder andra uttryck i villkor. I varje scenario kontrollerar du att du utförde följande procedurer i självstudien:

Du kan använda en valfri kombination av följande logiska uttryck i dina villkor.

Uttryck Beskrivning Exempel
and Tar två argument och returnerar true om båda värdena är sanna.
Obs: båda argument måste vara booleska värden.
Detta uttryck returnerar värdet false:
and(greater(1,10),equals(0,0))
or Tar två argument och returnerar true om något av värdena är sanna.
Obs: båda argument måste vara booleska värden.
Det här uttrycket returnerar värdet true:
or(greater(1,10),equals(0,0))
equals Returnerar true om de båda värdena är likvärdiga. Om parameter1 t.ex. är someValue, så returneras true:
equals(parameters('parameter1'), 'someValue')
less Tar två argument och returnerar true om det första argumentet är mindre än det andra argumentet.
Obs: typer som stöds är heltal, flyttal och sträng.
Det här uttrycket returnerar värdet true:
less(10,100)
lessOrEquals Tar två argument och returnerar true om det första argumentet är mindre än eller lika med det andra argumentet.
Obs: typer som stöds är heltal, flyttal och sträng.
Det här uttrycket returnerar värdet true:
lessOrEquals(10,10)
greater Tar två argument och returnerar true om det första argumentet är större än det andra argumentet.
Obs: typer som stöds är heltal, flyttal och sträng.
Det här uttrycket returnerar värdet false:
greater(10,10)
greaterOrEquals Tar två argument och returnerar true om det första argumentet är större än eller lika med det andra argumentet.
Obs: typer som stöds är heltal, flyttal och sträng.
Det här uttrycket returnerar värdet false:
greaterOrEquals(10,100)
empty Returnerar true om objektet, matrisen eller strängen är tom. Det här uttrycket returnerar värdet true:
empty('')
inte Returnerar motsatsen till ett booleskt värde. Det här uttrycket returnerar värdet true:
not(contains('200 Success','Fail'))
if Returnerar ett värde om uttrycket resulterar i true eller false. Det här uttrycket returnerar värdet yes:
if(equals(1, 1), 'yes', 'no')

Använd and-uttrycket

Anta att du har en kalkylbladtabell med två kolumner. Kolumnnamnen är Status och Tilldelad. Anta också att du vill ta bort alla rader om värdet i Status-kolumnen är blockerad och värdet i Tilldelad-kolumnen är John Wonder. Om du vill utföra den här uppgiften redigerar du kortet Villkor i Lägg till ett villkor använder du uttrycket och som visas här.

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

Här är ett exempel på kortet villkor.

Skärmbild av ett ”and”-uttryck.

Kör flödet med and-uttrycket

Om du har följt stegen i det här avsnittet bör kalkylbladet se ut ungefär som på följande skärmbild.

Skärmbild på kalkylbladet innan flödet körs.

När flödet har köras bör kalkylbladet se ut ungefär på följande skärmbild.

Skärmbild på kalkylbladet efter flödet körs.

Använd empty-uttrycket

Observera att det finns flera tomma rader i kalkylbladet nu. Ta bort dem genom att använda empty-uttrycket för att identifiera alla rader som inte har någon text i kolumnerna Tilldelad och Status.

För att utföra denna uppgift, följ alla steg som anges i Använd uttrycket 'and' i den här självstudien. När du redigerar kortet Villkor i avancerat läge använder du följande empty-uttryck.

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

Ditt kort för villkor bör se ut som följande skärmbild.

Skärmbild av ett ”empty”-uttryck.

När flödet har köras bör kalkylbladet se ut ungefär på följande skärmbild.

Skärmbild på kalkylbladet efter

Observera att extra rader tas bort från tabellen.

Använd uttrycket greater

Anta att du har köpt fotbollsbiljetter åt dina medarbetare och att du använder ett kalkylblad för att se till att har fått betalt av alla. Du kan snabbt skapa ett molnflöde som skickar ett dagligt e-postmeddelande till varje person som inte har betalat hela beloppet.

Identifiera de medarbetare som inte har betalat hela beloppet med hjälp av uttrycket större. Du kan sedan automatiskt skicka en påminnelse via e-post till dem.

Så här ser kalkylbladet ut.

Skärmbild av kalkylbladet med de medarbetare som inte har betalat hela beloppet.

Här är implementeringen av uttrycket större som identifierar alla personer som har betalat mindre än det förfallna beloppet.

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

Använda uttrycket less

Anta att du har köpt fotbollsbiljetter åt dina medarbetare och du använder ett kalkylblad för att se till att har fått betalt av alla inom den tidsram alla var överens om. Du kan skapa ett molnflöde som skickar en påminnelse via e-post till varje person som inte har betalat hela beloppet, om det aktuella datumet är mindre än en dag före förfallodatumet.

Använd uttrycket and med uttrycket less eftersom det finns två villkor som ska verifieras.

Villkor att validera Uttryck som ska användas Exempel
Har hela beloppet betalats? greater @greater(item()?['Due'], item()?['Paid'])
Är datumet mindre än en dag bort? less @less(item()?['DueDate'], addDays(utcNow(),1))

Kombinera uttrycken greater och less i ett and-uttryck

Använd uttrycket större om du vill identifiera de medarbetare som har betalat mindre än det fullständiga förfallna beloppet, och använd uttrycket mindre för att fastställa om betalningens förfallodatum ligger mindre än dag från aktuellt datum. Du kan sedan använda åtgärden Skicka ett e-postmeddelande för att skicka en påminnelse via e-post till de medarbetare som inte betalat hela beloppet då förfallodamet ligger mindre än en dag bort i tiden.

Så här ser kalkylbladet ut.

Skärmbild av kalkylbladstabellen.

Här är implementeringen av uttrycket och som identifierar alla medarbetare som har betalat mindre än det förfallna beloppet, och där förfallodatumet infaller mindre än en dag från det aktuella datumet.

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

Använda funktioner i uttryck

Vissa uttryck får sina värden från runtime-åtgärder som kanske inte finns än när ett molnflöde börjar köras. För att referera till eller arbeta med dessa värden i uttryck kan du använda funktioner som arbetsflödesdefinitionsspråket tillhandahåller.

Läs mer i Referensguide till arbetsflödesuttrycksfunktioner i Azure Logic Apps och Power Automate.

Utbildning: Introduktion till uttryck i Power Automate (modul)