Dela via


Skapa uttryck med hjälp av Power Fx

Power Fx är ett lågkodsformelspråk som använder formler ungefär som Excel. Använd Power Fx för att skapa komplex logik som gör att dina copiloter kan ändra data. En Power Fx formel kan till exempel ange värdet för en variabel, parsa en sträng eller använda ett uttryck i ett villkor. Mer information finns i Power Fx-översikten och formelreferens.

Kommentar

Power Fx-formeln i Copilot Studio använder amerikansk numrering. Decimalavgränsaren är en punkt eller punkt som i 12,567.892. Detta innebär att Power Fx parametrar måste separeras av kommatecken (,).

Förutsättningar

Använd variabler i en formel

Om du vill använda en variabel i en Power Fx-formel måste du lägga till ett prefix till dess namn för att ange variabelns omfattning:

Om du till exempel vill använda systemvariabeln Conversation.Id i en formel refererar du till systemvariabeln som System.Conversation.Id.

Skärmbild av rutan Ange formen med ett uttryck som innehåller systemvariabeln.

Använd bokstavliga värden i en formel

Förutom att använda variabler i en Power Fx formel kan du ange literala värden. Om du vill använda ett literalt värde i en formel måste du ange värdet i det format som motsvarar dess typ. I följande tabell visas datatyperna och formatet för motsvarande literalvärden.

Type Formatexempel
String "hi", "hello world!", "copilot"
Booleskt Endast true eller false
Antal 1, 532, 5.258,-9201
Post och tabell [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
DateTime Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Alternativ Stöds inte
Tom Endast Blank()

Vanliga Power Fx-formler

I följande tabell visas datatyper och motsvarande Power Fx-formler som ska användas med den datatypen.

Type Power Fx-formler
String Funktionen Text
Funktionerna Concat och Concatenate
Funktionen Len
Funktionerna Lower, Upper och Proper
Funktionerna IsMatch, Match och MatchAll
Funktionerna EndsWith och StartsWith
Funktionen Find
Funktionerna Replace och Substitute
Booleskt Boolean-funktion
Funktionerna And, Or och Not
If- och Switch-funktioner
Antal Funktionerna Decimal, Float och Value
Funktionerna Int, Round, RoundDown, RoundUp och Trun
Post och tabell Funktionerna Concat och Concatenate
Funktionerna Count, CountA, CountIf och CountRows
Funktionen ForAll
Funktionerna First, FirstN, Index, Last och LastN
Funktionerna Filter, Search och LookUp
JSON function
Funktionen ParseJSON
DateTime Funktionerna Date, DateTime och Time
Funktionerna DateValue, TimeValue och DateTimeValue
Funktionerna Day, Month, Year, Hour, Minute, Second och Weekday
Funktionerna Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
Funktionerna DateAdd, DateDiff och TimeZoneOffset
Funktionen Text
Tom Funktionerna Blank, Coalesce, IsBlank och IsEmpty
Funktionerna Error, IfError, IsError, IsBlankOrError

Använd Power Fx för att ange en variabel

I det här exemplet lagrar ett Power Fx-uttryck kundens namn med versaler och matar ut det.

  1. Skapa ett ämne och lägg till en fråga nod.

  2. Skriv ”Vad heter du?” i Ange ett meddelande.

  3. Under Identitet, välj entiteten Personnamn.

  4. Välj rutan under Spara svar som och välj variabeln Var1 och ge den namnet customerName.

  5. Under noden Fråga, välj + och sedan Ange ett variabelvärde.

  6. Välj rutan under Ange variabel och välj Skapa en ny och ge den namnet capsName.

  7. I rutan Till värde välj > pilen och sedan fliken Formel.

  8. I rutan fx ange Upper(Text(Topic.customerName)) och sedan Infoga.

    Skärmbild av en Power Fx formel u en Ange en variabel med fliken Formel markerat.

  9. Under noden Fråga väljer du + och sedan Skicka ett meddelande.

  10. Skriv ”HEJ”, välj {x} och välj sedan capsName.

    Skärmbild av noden Meddelande med ett definierat meddelande.

Använda Power Fx-formel som ett villkor

Om du vill utvärdera mer komplexa uttryck konfigurerar du in Villkor noder så att Power Fx-formler används.

I det här exemplet avgör copilot om ett bokningsdatum kvalificerar sig för en rabatt. Detta gör du genom att kontrollera om det bokningsdatum som angetts av kunden är 14 dagar eller mer från det aktuella datumet.

  1. Skapa ett ämne och lägg till en fråga nod.

  2. Skriv ”Bokningsdatum?” i Ange ett meddelande.

  3. Under Identitet, välj entiteten Datum och tid.

  4. Välj rutan under Spara svar som och välj variabeln Var1 och ge den namnet bookingDate.

    Skärmbild på frågenoden med entiteten för datum och tid vald och variabeln inställd.

  5. Markera ikonen Lägg till nod under noden Fråga och välj sedan Lägg till ett villkor.

  6. Markera ikonen Mer () för noden Villkor och välj sedan Ändra till formel.

  7. I rutan Funktion välj > pilen och sedan fliken Formel.

  8. Ersätt innehållet i rutan fx med formeln Topic.bookingDate > (DateAdd (Now(), 14)) och välj Infoga.

  9. Under noden Villkor lägger du till noden Meddelande och anger meddelandet ”Du är berättigad till en rabatt”.

  10. Under noden Alla andra villkor lägger du till noden Meddelande och anger meddelandet ”Du är tyvärr inte berättigad till en rabatt”.

    Skärmbild av villkorsstyrda meddelandenoder.