Del via


Opprett uttrykk med Power Fx

Power Fx er et lavkodespråk som bruker Excel-lignende formler. Bruk Power Fx til å opprette kompleks logikk som gjør det mulig for kopilotene å manipulere data. En Power Fx-formel kan for eksempel angi verdien til en variabel, analysere en streng eller bruke et uttrykk i en betingelse. Hvis du vil ha mer informasjon, kan du se Power Fx-oversikten og formelreferansen.

Merk

Power Fx-formler i Copilot Studio bruker nummerering i amerikansk stil. Det vil si at desimalskilletegnet er et punktum eller prikk, som i 12,567.892. Dette betyr også at Power Fx-parametere må skilles med komma (,).

Forutsetning

Bruke variabler i en formel

Hvis du vil bruke en variabel i en Power Fx-formel, må du legge til et prefiks i navnet for å indikere variabelens omfang:

Hvis du for eksempel vil bruke systemvariabelen Conversation.Id i en formel, henviser du systemvariabelen som System.Conversation.Id.

Skjermbilde av Enter-formelruten med et uttrykk som inneholder en systemvariabel.

Bruk litterale verdier i en formel

I tillegg til å bruke variabler i en Power Fx-formel kan du skrive inn litterale verdier. Hvis du vil bruke en litteral verdi i en formel, må du angi den i formatet som samsvarer med type. Tabellen nedenfor viser datatypene og formatet for de tilsvarende litterale verdiene.

Type Formateksempler
String "hi", "hello world!", "copilot"
Bolsk Bare true eller false
Nummer 1, 532, 5.258,-9201
Post og tabell [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Date/klokkeslett Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Valg Støttes ikke
Tomt Bare Blank()

Vanlige Power Fx-formler

Tabellen nedenfor viser datatyper og tilsvarende Power Fx-formler som skal brukes med denne datatypen.

Type Power Fx-formler
String Text-funksjon
Funksjonene Concat og Concatenate
Len-funksjon
Funksjonene Lower, Upper og Proper
Funksjonene IsMatch, Match og MatchAll
EndsWith- og StartsWith-funksjonene
Find-funksjon
Funksjonene Replace og Substitute
Bolsk Boolean-funksjon
Funksjonene And, Or og Not
Funksjonene If og Switch
Nummer Funksjonene Decimal, Float og Value
Funksjonene Int, Round, RoundDown, RoundUp og Trun
Post og tabell Funksjonene Concat og Concatenate
Funksjonene Count, CountA, CountIf og CountRows
Funksjonen ForAll
Funksjonene First, FirstN, Index, Last og LastN
Funksjonene Filter, Search og LookUp
JSON-funksjon
ParseJSON-funksjon
Date/klokkeslett Date-, DateTime- og Time-funksjoner
Funksjonene DateValue, TimeValue og DateTimeValue
Funksjonene Day, Month, Year, Hour, Minute, Second og Weekday
Funksjonene for Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
Funksjonene DateAdd, DateDiff og TimeZoneOffset
Text-funksjon
Tomt Funksjonene Blank, Coalesce, IsBlank og IsEmpty
Funksjonene Error, IfError, IsError og IsBlankOrError

Bruker Power Fx tli å angi en variabel

I dette eksemplet lagrer og skriver et Power Fx-uttrykk kundens navn med store bokstaver.

  1. Opprett en emne og legg til en spørsmålsnode.

  2. For Skriv inn en melding angi du "Hva er navnet ditt is your name?".

  3. Velg enheten Personnavn under Identifiser.

  4. Velg boksen under Lagre svar som, og velg variabelen Var1 og gi den navnet customerName.

  5. Velg + under noden Spørsmål, og velg deretter Angi en variabelverdi.

  6. Velg boksen under Angi variabel, og velg Opprett ny og gi den navnet capsName.

  7. Velg pilen > i Til-verdi-boksen, og velg deretter fanen Formel.

  8. Angi Upper(Text(Topic.customerName)) i fx-boksen, og velg deretter Sett inn.

    Skjermbilde av en Power Fx-formel i en Angi en variabel-node med kategorien Formel uthevet.

  9. Under Spørsmål-noden velger du + og deretter Send en melding.

  10. Angi "HALLO ", velg {x}, og deretter capsName.

    Skjermbilde av Melding-noden med en melding definert.

Bruk en Power Fx-formel som en betingelse

Hvis du vil evaluere mer komplekse uttrykk, konfigurerer du betingelsesnoder til å bruke Power Fx-formler.

I dette eksemplet avgjør kopiloten om en bestillingsdato kvalifiserer for en rabatt. Dette gjør du ved å kontrollere om bestillingsdato for kunden er 14 dager eller mer fra gjeldende dato.

  1. Opprett en emne og legg til en spørsmålsnode.

  2. For Skriv inn en melding skriver du inn "Bestillingsdato?".

  3. Velg enheten Dato og klokkeslett under Identifiser.

  4. Velg boksen under Lagre svar som, og velg variabelen Var1 og gi den navnet bookingDate.

    Skjermbilde av Spørsmål-node med valgt dato og klokkeslett og et variabelsett.

  5. Velg Legg til node-ikonet under noden Spørsmål, og velg deretter Legg til en betingelse.

  6. Velg Mer-ikonet () for Betingelse-noden og deretter Endre til formel.

  7. Velg pilen > i Funksjon-boksen, og velg deretter fanen Formel.

  8. Erstatt innholdet i fx-boksen med formelen Topic.bookingDate > (DateAdd (Now(), 14)), og velg deretter Sett inn.

  9. Legg til en Melding-node under Betingelse-noden, og skriv inn meldingen «Du kvalifiserer for rabatt».

  10. Legg til en Melding-node under Alle andre betingelser-noden, og skriv inn meldingen «Beklager, men du kvalifiserer ikke for rabatt».

    Skjermbilde av betingede meldingsnoder.