Power Fx は、Excel に似た式を使用するローコード言語です。 エージェントにデータを操作させる複雑なロジックを作成するには、Power Fx を使用します。 たとえば、Power Fx 式は、変数の値を設定したり、文字列を解析したり、条件で式を使用したりできます。 詳細については、Power Fx の概要および数式参照をご覧ください。
注
Power Fx の数式は、 Copilot Studio で米国式番号を使用します。 つまり、12,567.892 のように、小数点記号はピリオドまたはドットです。 つまり、,としてコンマ () を使用する必要があります。
前提条件
数式での変数の使用
Power Fx 式で変数を使用するには、プレフィックスを追加して変数の名前を示す必要があります:
たとえば、システム変数 Conversation.Id を数式で使用するには、システム変数 System.Conversation.Id を参照します。
式でリテラル値を使用する
Power Fx 式で変数を使用するだけでなく、リテラル値を入力することもできます。 式でリテラル値を使用するには、その型に対応する形式で入力する必要があります。 次の表に、データ型とそれに対応するリテラル値の形式を一覧表示します。
| タイプ | 形式の例 |
|---|---|
| 糸 |
"hi"、"hello world!"、"copilot" |
| ブール値 |
true または false のみ |
| 回数 |
1、532、5.258、-9201 |
| レコードとテーブル |
[1]、[45, 8, 2]、["cats", "dogs"]、{ id: 1 }、{ message: "hello" }、{ name: "John", info: { age: 25, weight: 175 } } |
| 日付と時間 |
Time(5,0,23)、Date(2022,5,24)、DateTimeValue("May 10, 2022 5:00:00 PM") |
| 選択肢 | サポートしていません |
| 空白 |
Blank() のみ |
一般的な Power Fx 数式
次の表に、各データ型で使用できるデータ型と Power Fx の数式を示します。
Power Fx を使用して変数を設定する
この例では、Power Fx 式は顧客の名前を大文字で保存して出力します。
トピックを作成し、質問ノードを追加します。
メッセージの入力 に「あなたの名前は何ですか?」と入力します。
特定の下で、エンティティ個人名を選択します。
ユーザーの応答に名前を付けて保存する の下にあるボックスを選択し、変数
Var1を選択してcustomerNameと名前を付けます。質問ノードで、+ を選択してから、変数値を設定するを選択します。
変数の設定でボックスを選択してから、新規作成を選択し、
capsNameと名付けます。対象値ボックスで、> 矢印を選択してから、式タブを選択します。
fx ボックスに、
Upper(Text(Topic.customerName))と入力してから、挿入を選択します。
質問ノードで、+ を選択してから、メッセージの送信を選択します。
「こんにちわ」と入力し、{x} を選択してから
capsNameを選択します。
条件として Power Fx 式を使用する
より複雑な式を評価するには、条件ノードを設定して Power Fx 式を使用します。
この例では、エージェントは予約日が割引の対象となるかどうかを判断します。 これを判断するには、顧客が指定した予約日が現在の日付から 14 日以上経過しているかどうかを確認します。
トピックを作成し、質問ノードを追加します。
メッセージの入力 に、「予約日はいつですか?」と入力します。
特定の下で、エンティティ日付と時刻を選択します。
ユーザーの応答に名前を付けて保存する の下にあるボックスを選択し、変数
Var1を選択してbookingDateと名前を付けます。
質問 ノードの下にある
ノードの追加 アイコン を選択し、条件の追加 を選択します。条件ノードの3つの点(...)を選択し、次に「式に変更」を選択します。
関数ボックスで、> 矢印を選択してから、式タブを選択します。
fx ボックスの内容を数式
Topic.bookingDate > (DateAdd (Now(), 14))に置き換えてから、挿入を選択します。条件ノードの下にメッセージ ノードを追加し、「あなたは割引を受ける資格があります」というメッセージを入力します。
その他すべての条件 ノードの下に メッセージ ノードを追加し、「申し訳ございませんが、割引の対象ではありません。」というメッセージを入力します。