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 copilots 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 formler som använder numrering i Copilot Studio amerikansk stil. 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
Rekord 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 Sammanfoga och Sammanfoga
Funktionen Len
Nedre, Övre och Korrekta funktioner
Funktionerna IsMatch, Match och MatchAll
Funktionerna EndsWith och StartsWith
Sök-funktion
Funktionen Ersätt och Ersätt
Booleskt boolesk funktion
Funktionerna And, Or och Not
Antal Funktionerna Decimal, Flyttal och Värde
Funktionerna Int, Round, RoundDown, RoundUp och Trun
Rekord och tabell Funktionerna Sammanfoga och Sammanfoga
Funktionerna Antal, AntalA, AntalIfoch AntalRader
Funktionen ForAll
Funktionerna First, FirstN, Index, Last och LastN
Filter-, sök- och uppslagsfunktioner
Funktionen JSON
Funktionen ParseJSON
DateTime Funktionerna Date, DateTime och Time
Funktionerna DateValue, TimeValue och DateTimeValue
Funktionerna Dag, Månad, År, Timme, Minut, Sekund och Veckodag
Nu, idag, IsToday, UTCNow, UTCToday, IsUTCToday-funktioner
Funktionerna DateAdd, DateDiff och TimeZoneOffset
Funktionen Text
Tom Funktionerna Blank, Coalesce, IsBlank och IsEmpty

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

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

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

  2. För Ange ett meddelande anger du "Vad är ditt namn?".

  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. Ange "HELLO", Välj {x} och sedan Välj capsName.

    Skärmbild av noden Message 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. För Ange ett meddelande anger du "Bokningsdatum?".

  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. Välj den Lägg till nod under noden Fråga och väljsedan Lägg till ett villkor.

  6. Välj den Mer (...) i noden Villkor och sedan VäljÄ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 rabatt".

  10. Under noden Alla andra villkor lägger du till noden Meddelande och anger meddelandet "Tyvärr, du är inte berättigad till rabatt".

    Skärmbild av villkorsstyrda meddelandenoder.