Power Fx を使用して式を作成する
Power Fx は、Excel に似た式を使用するローコード言語です。 Power Fx を使用すると、コパイロットがデータを操作できる複雑なロジックを作成できます。 たとえば、Power Fx 式は、変数の値を設定したり、文字列を解析したり、条件で式を使用したりできます。 詳細については、Power Fx の概要および数式参照をご覧ください。
Note
Power Fx Copilot Studio の数式では米国式の番号付けが使用されています。 つまり、12,567.892
のように、小数点記号はピリオドまたはドットです。 これは Power Fx パラメータはカンマ (,) で区切る必要があることを示します。
前提条件
数式での変数の使用
Power Fx 式で変数を使用するには、プレフィックスを追加して変数の名前を示す必要があります:
たとえば、数式でシステム変数 Conversation.Id
を使用するには、システム変数を次のように参照します System.Conversation.Id
。
式でリテラル値を使用する
Power Fx 式で変数を使用するだけでなく、リテラル値を入力することもできます。 式でリテラル値を使用するには、その型に対応する形式で入力する必要があります。 次の表に、データ型とそれに対応するリテラル値の形式を一覧表示します。
タイプ | Power Fx 式 | 形式の例 |
---|---|---|
String | テキスト機能 Len関数 下位関数、上位関数、固有関数 IsMatch、Match、MatchAll関数 EndsWithおよびStartsWith関数 |
"hi" "hello world!" "copilot" |
ブール値 | ブール値 関数 And、Or、Not関数 |
true または false のみ |
回数 | 小数、浮動小数点、および値関数 Int、Round、RoundDown、RoundUp、Trun関数 |
1 532 5.258 -9201 |
記録と表 | Count、CountA、CountIf、CountRows関数 ForAll関数 First、FirstN、Index、Last、LastN関数 フィルター、検索、ルックアップ機能 JSON関数 ParseJSON関数 |
[1] [45, 8, 2] ["cats", "dogs"] { id: 1 } { message: "hello" } { name: "John", info: { age: 25, weight: 175 } } |
DateTime | 日付、日付時刻、時刻関数 DateValue、TimeValue、およびDateTimeValue関数 日、月、年、時間、分、秒、曜日関数 Now、Today、IsToday、UTCNow、UTCToday、IsUTCToday関数 DateAdd、DateDiff、およびTimeZoneOffset関数 テキスト機能 |
Time(5,0,23) Date(2022,5,24) DateTimeValue("May 10, 2022 5:00:00 PM") |
選択肢 | 該当なし | サポートしていません |
空白 | Blank、Coalesce、IsBlank、およびIsEmpty関数 | Blank() のみ |
Power Fx を使用して変数を設定する
この例では、 Power Fx 式は顧客の名前を大文字で保存して出力します。
トピックを作成し、質問ノードを追加します。
メッセージを入力には、「お名前は何ですか?」と入力します。
特定の下で、エンティティ個人名を選択します。
応答に名前を付けて保存でボックスを選択してから、変数
Var1
を選択し、customerName
と名付けます。質問ノードで、+ を選択してから、変数値を設定するを選択します。
変数の設定でボックスを選択してから、新規作成を選択し、
capsName
と名付けます。対象値ボックスで、> 矢印を選択してから、式タブを選択します。
fx ボックスに、
Upper(Text(Topic.customerName))
と入力してから、挿入を選択します。質問ノードで、+ を選択してから、メッセージの送信を選択します。
「HELLO」、選択 {x}、選択
capsName
と入力します。
条件として Power Fx 式を使用する
より複雑な式を評価するには、条件ノードを設定して Power Fx 式を使用します。
この例では、コパイロットは予約日が割引の対象となるかどうかを判断します。 これを判断するには、顧客が指定した予約日が現在の日付から 14 日以上経過しているかどうかを確認します。
トピックを作成し、質問ノードを追加します。
メッセージを入力には、「予約日?」と入力します。
特定の下で、エンティティ日付と時刻を選択します。
応答に名前を付けて保存でボックスを選択してから、変数
Var1
を選択し、bookingDate
と名付けます。選択 で、 質問 ノードの下の ノードの追加 アイコン をクリックし、選択 条件を追加します。
選択 で、 条件 ノードの詳細アイコン ( … ) をクリックし、選択 数式に変更します。
関数ボックスで、> 矢印を選択してから、式タブを選択します。
fx ボックスの内容を数式
Topic.bookingDate > (DateAdd (Now(), 14))
に置き換えてから、挿入を選択します。条件 ノードの下に メッセージ ノードを追加し、「割引の対象となります」というメッセージを入力します。
その他のすべての条件 ノードの下に メッセージ ノードを追加し、「申し訳ございませんが、割引の対象にはなりません。」というメッセージを入力します。