Delen via


Expressies maken met Power Fx

Power Fx is een taal met weinig code die Excel-achtige formules gebruikt. Gebruik Power Fx om complexe logica te creëren waarmee uw copilots gegevens kunnen manipuleren. Een Power Fx-formule kan bijvoorbeeld de waarde van een variabele instellen, een tekenreeks ontleden of een uitdrukking in een voorwaarde gebruiken. Zie voor meer informatie Power Fx-overzicht en -formulaverwijzing.

Notitie

Power Fx-formules in Copilot Studio gebruiken Amerikaanse nummering. Dat wil zeggen dat het decimaalteken een punt is, zoals in 12,567.892. Dit betekent dat Power Fx-parameters moeten worden gescheiden door komma's (,).

Vereisten

Variabelen gebruiken in een formule

Als u een variabele wilt gebruiken in een Power Fx-formule, moet u een voorvoegsel aan de naam ervan toevoegen om het bereik van de variabele aan te geven:

Als u bijvoorbeeld de systeemvariabele Conversation.Id wilt opnemen in een formule, verwijs dan naar de systeemvariabele als System.Conversation.Id.

Schermopname van het deelvenster Formule invoeren met een expressie die een systeemvariabele bevat.

Letterlijke waarden in een formule gebruiken

Naast het gebruik van variabelen in een Power Fx-formule, kunt u letterlijke waarden invoeren. Als u een letterlijke waarde in een formule wilt gebruiken, moet u deze invoeren in de indeling die overeenkomt met het bijbehorende type. De volgende tabel geeft een overzicht van de gegevenstypen en de indeling van de bijbehorende letterlijke waarden.

Type Voorbeelden van notaties
String "hi", "hello world!", "copilot"
Booleaans Uitsluitend true of false
Aantal 1, 532, 5.258,-9201
Record en tabel [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Datum en tijd Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Keuze Niet ondersteund
Leeg Uitsluitend Blank()

Algemene Power Fx formules

In de volgende tabel staan de gegevenstypen en de bijbehorende Power Fx formules die u met dat gegevenstype kunt gebruiken.

Type Power Fx-formules
String De functie Text
De functies Concat en Concatenate
De functie Len
De functies Lower, Upper en Proper
De functies IsMatch, Match en MatchAll
De functies EndsWith en StartsWith
De functie Find
De functies Replace en Substitute
Booleaans De functie Boolean
De functies And, Or en Not
De functies If en Switch
Aantal Functies Decimaal, Drijvend en Waarde
De functies Int, Round, RoundDown, RoundUp en Trun
Record en tabel De functies Concat en Concatenate
De functies Count, CountA, CountIf en CountRows
De functie ForAll
De functies First, FirstN, Index, Last en LastN
De functies Filter, Search en LookUp
JSON-functie
De functie ParseJSON
Datum en tijd Date-, DateTime- en Time-functies
De functies DateValue, TimeValue en DateTimeValue
De functies Day, Month, Year, Hour, Minute, Second en Weekday
De functies Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
De functies DateAdd, DateDiff en TimeZoneOffset
De functie Text
Leeg De functies Blank, Coalesce, IsBlank en IsEmpty
De functies Error, IfError, IsError en IsBlankOrError

Een Power Fx om een variabele in te stellen

In dit voorbeeld wordt met een Power Fx-expressie de naam van de klant in hoofdletters opgeslagen en weergegeven.

  1. Maak een onderwerp en voeg een Vraag-knooppunt toe.

  2. Voer voor Een bericht invoeren "Wat is uw naam?" in.

  3. Selecteer onder Identificeren de entiteit Persoonsnaam.

  4. Selecteer het vakje onder Respons opslaan als en selecteer vervolgens de variabele Var1 en noem deze customerName.

  5. Selecteer onder het knooppunt Vraag + en selecteer vervolgens Een waarde voor een variabele instellen.

  6. Selecteer het vakje onder Variabele instellen en selecteer vervolgens Nieuw maken en noem deze capsName.

  7. Selecteer in het vak Naar waarde de pijl > en selecteer vervolgens het tabblad Formule.

  8. Voer in het vak fx Upper(Text(Topic.customerName)) in en selecteer vervolgens Invoegen.

    Schermopname van een Power Fx-formule in een knooppunt Een variabele instellen met het tabblad Formule gemarkeerd.

  9. Selecteer onder het knooppunt Vraag + en selecteer vervolgens Een bericht verzenden.

  10. Voer "HALLO" in, selecteer {x} en vervolgens capsName.

    Schermopname van het berichtknooppunt met een gedefinieerd bericht.

Een Power Fx-formule gebruiken als een voorwaarde

Als u complexere expressies wilt evalueren, stelt u Voorwaardeknooppunten in om Power Fx-formules te gebruiken.

In dit voorbeeld bepaalt de copilot of een boekingsdatum in aanmerking komt voor korting. Hiertoe wordt gecontroleerd of de door de klant opgegeven boekingsdatum 14 dagen of meer vanaf de huidige datum is.

  1. Maak een onderwerp en voeg een Vraag-knooppunt toe.

  2. Voer voor Een bericht invoeren "Boekingsdatum?" in.

  3. Selecteer onder Identificeren de entiteit Datum en tijd.

  4. Selecteer het vakje onder Respons opslaan als en selecteer vervolgens de variabele Var1 en noem deze bookingDate.

    Schermopname van Vraagknooppunt met een gekozen datum- en tijdentiteit en een ingestelde variabele.

  5. Selecteer het pictogram Knooppunt toevoegen onder het knooppunt Vraag en selecteer vervolgens Een voorwaarde toevoegen.

  6. Selecteer het pictogram Meer (...) van het knooppunt Voorwaarde en selecteer vervolgens Wijzigen in formule.

  7. Selecteer in het vak Functie de pijl > en selecteer vervolgens het tabblad Formule.

  8. Vervang de inhoud van het vak fx door de formule Topic.bookingDate > (DateAdd (Now(), 14)) en selecteer vervolgens Invoegen.

  9. Voeg onder het knooppunt Voorwaarde een Bericht-knooppunt toe en voer het bericht 'U komt in aanmerking voor korting' in.

  10. Voeg onder het knooppunt Alle andere voorwaarden een Bericht-knooppunt toe en voer het bericht 'Sorry, u komt niet in aanmerking voor korting' in.

    Schermafbeelding van voorwaardelijke berichtknooppunten.