Expressies maken met Power Fx

Power Fx is een taal met weinig code die gebruikmaakt van Excel-achtige formules. Gebruik Power Fx om complexe agentlogica te maken, waarmee uw agenten 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 het overzicht en de formulereferentie van Power Fx voor meer informatie.

Opmerking

Power Fx-formules in Copilot Studio gebruiken nummering in amerikaanse stijl. Dat wil zeggen dat het decimaalteken een punt is, zoals in 12,567.892. Dit betekent dat u komma's (,) moet gebruiken als parameterscheidingstekens voor uw Power Fx-formules.

Vereiste voorwaarden

Variabelen gebruiken in een formule

Als u een variabele in een Power Fx-formule wilt gebruiken, moet u een voorvoegsel toevoegen aan de naam 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 gebruiken in een formule

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 notatie die overeenkomt met het type. De volgende tabel geeft een overzicht van de gegevenstypen en de indeling van de bijbehorende letterlijke waarden.

Type Voorbeelden van opmaak
Tekenreeks "hi", "hello world!", "copilot"
Booleaanse Alleen true of false
Nummer 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 } }
DateTime Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Keuze Niet ondersteund
Leeg Alleen Blank()

Algemene Power Fx-formules

De volgende tabel bevat gegevenstypen en Power Fx-formules die u voor elk gegevenstype kunt gebruiken.

Type Power Fx-formules
Tekenreeks Tekstfunctie
De functies Concat en Concatenate
Len-functie
Functies Lower, Upper en Proper
Functies IsMatch, Match en MatchAll
EndsWith- en StartsWith-functies
Functie Zoeken
De functie Vervangen en Substitueren
Booleaanse Booleaanse functie
En, Of en Niet functies
If en Switch-functies
Nummer De functies Decimal, Float en Value
De functies Int, Round, RoundDown, RoundUp en Trunc
Record en tabel De functies Concat en Concatenate
De functies Count, CountA, CountIf en CountRows
ForAll-functie
De functies First, FirstN, Index, Last en LastN
Filter-, zoek- en zoekfuncties
JSON-functie
ParseJSON-functie
DateTime Datum-, datum-/tijd- en tijdfuncties
Functies DateValue, TimeValue en DateTimeValue
De functies Day, Month, Year, Hour, Minute, Second en Weekday
Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday functies
Functies DateAdd, DateDiff en TimeZoneOffset
Tekstfunctie
Leeg Blank, Coalesce, IsBlank en IsEmpty-functies
Fout, IfError, IsError, IsBlankOrError-functies

Power Fx gebruiken 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 Gebruikersrespons opslaan als en selecteer vervolgens de variabele Var1 en geef deze de naam 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 fxUpper(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 Voorwaarde-knooppunten in om Power Fx-formules te gebruiken.

In dit voorbeeld bepaalt de agent 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 Gebruikersrespons opslaan als en selecteer vervolgens de variabele Var1 en geef deze de naam 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 de drie stippen (...) van de Condition-knoop en selecteer vervolgens 'Verander naar 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.

    Schermopname van voorwaardelijke berichtknooppunten.