Ausdrücke mithilfe von Power Fx erstellen

Power Fx ist eine Sprache mit geringem Code, die Excel ähnliche Formeln verwendet. Verwenden Sie Power Fx, um mithilfe von Formeln eine komplexe Logik zum Manipulieren von Daten zu erstellen. Eine Power Fx-Formel kann zum Beispiel den Wert einer Variablen festlegen, eine Zeichenfolge analysieren oder einen Ausdruck in einer Bedingung verwenden. Weitere Informationen finden Sie in der Power Fx-Übersicht und in der Formelreferenz.

Schein

Power Fx-Formeln in Copilot Studio verwenden die US-amerikanische Nummerierung. Das heißt, das Dezimaltrennzeichen ist ein Punkt, wie in 12,567.892. Dies bedeutet, dass Sie Kommas (,) als Parametertrennzeichen für Ihre Power Fx-Formeln verwenden müssen.

Voraussetzungen

Verwenden von Variablen in einer Formel

Um eine Variable in einer Power Fx-Formel zu verwenden, müssen Sie dem Namen ein Präfix hinzufügen, um den Bereich der Variablen anzugeben:

Um beispielsweise die Systemvariable Conversation.Id in einer Formel zu verwenden, verweisen Sie als System.Conversation.Id darauf.

Screenshot des Fensters Formel eingeben mit einem Ausdruck, der eine Systemvariable enthält.

Verwenden von Literalwerten in einer Formel

Zusätzlich zur Verwendung von Variablen in einer Power Fx-Formel können Sie Literalwerte eingeben. Wenn Sie einen Literalwert in einer Formel verwenden möchten, müssen Sie ihn in das Format eingeben, das seinem Typ entspricht. In der folgenden Tabelle sind die Datentypen und das Format ihrer entsprechenden Literalwerte aufgeführt.

Type Formatbeispiele
String "hi", "hello world!""copilot"
Aktiv Nur true oder false
Anzahl 1, 532, 5.258, -9201
Datensatz und Tabelle [1], , [45, 8, 2]["cats", "dogs"], { id: 1 }, , { message: "hello" }{ name: "John", info: { age: 25, weight: 175 } }
Datum/Uhrzeit Time(5,0,23), Date(2022,5,24)DateTimeValue("May 10, 2022 5:00:00 PM")
Wahl Nicht unterstützt
Leer Nur Blank()

Allgemeine Power Fx-Formeln

In der folgenden Tabelle sind Datentypen und Power Fx-Formeln aufgeführt, die Sie mit jedem Datentyp verwenden können.

Type Power Fx-Formeln
String Textfunktion
Concat-Funktion und Verketten-Funktion
Len-Funktion
Funktionen "Lower", "Upper" und "Proper"
IsMatch-, Match- und MatchAll-Funktionen
EndsWith- und StartsWith-Funktionen
Funktion suchen
Ersetzen und Ersetzen-Funktion
Aktiv Boolesche Funktion
Und-, Oder- und Nicht-Funktionen
Wenn- und Switch-Funktionen
Anzahl Dezimal-, Float- und Wertfunktionen
Funktionen "Int", "Round", "RoundDown", "RoundUp" und "Trunc"
Datensatz und Tabelle Concat-Funktion und Verketten-Funktion
Count-, CountA-, CountIf- und CountRows-Funktionen
ForAll-Funktion
First-, FirstN-, Index-, Last- und LastN-Funktionen
Filter-, Such- und Nachschlagefunktionen
JSON-Funktion
ParseJSON-Funktion
Datum/Uhrzeit Datums-, DateTime- und Zeitfunktionen
Funktionen "DateValue", "TimeValue" und "DateTimeValue"
Funktionen "Tag", "Monat", "Jahr", "Stunde", "Minute", "Sekunde" und "Wochentag"
Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday-Funktionen
DateAdd-, DateDiff- und TimeZoneOffset-Funktionen
Textfunktion
Leer Blank, Coalesce, IsBlank und IsEmpty-Funktionen
Error, IfError, IsError, IsBlankOrError-Funktionen

Power Fx verwenden, um eine Variable festzulegen

In diesem Beispiel speichert ein Power Fx-Ausdruck den Namen des Kunden in Großbuchstaben und gibt ihn auch so aus.

  1. Erstellen Sie ein Thema, und fügen Sie einen Frageknoten hinzu.

  2. Geben Sie für Nachricht eingeben „Wie lautet Ihr Name?“ ein.

  3. Wählen Sie unter Identifizieren die Entität Personenname aus.

  4. Aktivieren Sie das Kontrollkästchen unter Benutzerantwort speichern als, wählen Sie dann die Variable Var1 aus, und benennen Sie sie customerName.

  5. Wählen Sie den Frageknoten, + und dann Als Variable festlegen aus.

  6. Aktivieren Sie das Kontrollkästchen unter Variable festlegen, wählen Sie dann Neu erstellen aus, und geben Sie ihr den Namen capsName.

  7. Wählen Sie im Feld Bis Wert den Pfeil > und dann die Registerkarte Formel aus.

  8. Geben Sie im Feld fxUpper(Text(Topic.customerName)) ein, und wählen Sie dann Einfügen aus.

    Screenshot einer Power Fx-Formel in einem Knoten „Variable festlegen“ mit einer hervorgehobenen Registerkarte „Formel“.

  9. Wählen Sie unter dem Frageknoten+ und dann Nachricht senden aus.

  10. Geben Sie „HALLO“ ein, wählen Sie {x} und anschließend capsName aus.

    Screenshot mit einem Nachrichtenknoten mit einer definierten Nachricht

Eine Power Fx-Formel als Bedingung verwenden

Um komplexere Ausdrücke auszuwerten, richten Sie Bedingungsknoten für die Verwendung von Power Fx-Formeln ein.

In diesem Beispiel bestimmt der Agent, ob bei einem Buchungsdatum Anspruch auf einen Rabatt besteht. Dazu überprüft er, ob das vom Kunden angegebene Buchungsdatum 14 Tage oder mehr vom aktuellen Datum entfernt ist.

  1. Erstellen Sie ein Thema, und fügen Sie einen Frageknoten hinzu.

  2. Geben Sie für Nachricht eingeben „Buchungsdatum?“ ein.

  3. Wählen Sie unter Identifizieren die Entität Datum und Uhrzeit aus.

  4. Aktivieren Sie das Kontrollkästchen unter Benutzerantwort speichern als, wählen Sie dann die Variable Var1 aus, und benennen Sie sie bookingDate.

    Screenshot eines Frageknotens, für den eine Entität mit Datum und Uhrzeit ausgewählt und eine Variable festgelegt wurde.

  5. Wählen Sie das Symbol Knoten hinzufügen unter dem Knoten Frage aus, und wählen Sie dann Bedingung hinzufügen aus.

  6. Wählen Sie die drei Punkte (...) des Condition-Knotens aus, und wählen Sie dann In Formel ändern aus.

  7. Wählen Sie im Feld Funktion den Pfeil > und dann die Registerkarte Formel aus.

  8. Ersetzen Sie den Inhalt des Felds fx durch die Formel Topic.bookingDate > (DateAdd (Now(), 14)), und wählen Sie dann Einfügen aus.

  9. Fügen Sie unter dem Knoten Bedingung einen Nachrichtenknoten hinzu, und geben Sie die Meldung Sie haben Anspruch auf einen Rabatt ein.

  10. Fügen Sie unter dem Knoten Alle anderen Bedingungen einen Nachrichtenknoten hinzu, und geben Sie die Meldung Entschuldigung, Sie haben keinen Anspruch auf einen Rabatt ein.

    Screenshot der bedingten Nachrichtenknoten