Share via


Power Fx を使用して式を作成する

重要

Power Virtual Agents 機能は、生成 AI への多大な投資と Microsoft Copilot 全体の統合の強化により、現在 Microsoft Copilot Studio の一部となっています

ドキュメントやトレーニング コンテンツが更新される間、一部の記事やスクリーンショットで Power Virtual Agents が参照される場合があります。

Power Fx は、Excel に似た式を使用するローコード言語です。 Power Fx を使用すると、コパイロットがデータを操作できる複雑なロジックを作成できます。 たとえば、Power Fx 式は、変数の値を設定したり、文字列を解析したり、条件で式を使用したりできます。 詳細については、Power Fx の概要および数式参照をご覧ください。

Note

Power Fx の数式は、 Microsoft Copilot Studio で米国式番号を使用します。 つまり、12,567.892 のように、小数点記号はピリオドまたはドットです。 これは Power Fx パラメータはカンマ (,) で区切る必要があることを示します

前提条件

数式での変数の使用

Power Fx 式で変数を使用するには、プレフィックスを追加して変数の名前を示す必要があります:

たとえば、式でシステム変数 Conversation.Id を使用して、System.Conversation.Id として参照する必要があります。

システム変数を含む式がある数式の入力ペインのスクリーンショット。

式でリテラル値を使用する

Power Fx 式で変数を使用するだけでなく、リテラル値を入力することもできます。 式でリテラル値を使用するには、そのに対応する形式で入力する必要があります。 次の表に、データ型とそれに対応するリテラル値の形式を一覧表示します。

タイプ 形式の例
String "hi""hello world!""copilot"
ブール型 true または false のみ
回数 15325.258-9201
テーブル [1][45, 8, 2]["cats", "dogs"]
Record { 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")
選択肢 サポートしていません
空白 Blank() のみ

Power Fx を使用して変数を設定する

この例では、Power Fx 式を使用して顧客の名前を格納し、大文字で出力します。

  1. トピックを作成し、質問ノードを追加します。

  2. メッセージの入力に、What is your name? と入力します。

  3. 特定の下で、エンティティ個人名を選択します。

  4. 応答に名前を付けて保存でボックスを選択してから、変数 Var1 を選択し、customerNameと名付けます。

    Var1 という名前の変数が強調表示された質問ノードのスクリーンショット。

  5. 質問ノードで、+ を選択してから、変数値を設定するを選択します。

  6. 変数の設定でボックスを選択してから、新規作成を選択し、capsName と名付けます。

  7. 対象値ボックスで、> 矢印を選択してから、タブを選択します。

  8. fx ボックスに、Upper(Text(Topic.customerName)) と入力してから、挿入を選択します。

    数式タブが強調表示された変数の設定ノードの Power Fx 数式のスクリーンショット。

  9. 質問ノードで、+ を選択してから、メッセージの送信を選択します。

  10. HELLO を入力し、{x} を選択してから、capsName を選択します。

    メッセージが定義されたメッセージの送信ノードのスクリーンショット。

条件として Power Fx 式を使用する

より複雑な式を評価するには、条件ノードを設定して Power Fx 式を使用します。

この例では、コパイロットは予約日が割引の対象となるかどうかを判断します。 これを判断するには、顧客が指定した予約日が現在の日付から 14 日以上経過しているかどうかを確認します。

  1. トピックを作成し、質問ノードを追加します。

  2. メッセージの入力に、Booking date? と入力します。

  3. 特定の下で、エンティティ日付と時刻を選択します。

  4. 応答に名前を付けて保存でボックスを選択してから、変数 Var1 を選択し、bookingDateと名付けます。

    日付と時刻のエンティティが選択され、変数が設定された質問ノードのスクリーンショット。

  5. + アイコンを選択してから、条件の追加を選択します。

  6. 条件ノードで、ノードメニュー () を選択してから、式に変更を選択します。

    ノード メニュー アイコンと式に変更が強調表示された条件ノードのスクリーンショット。

  7. 関数ボックスで、> 矢印を選択してから、タブを選択します。

  8. fx ボックスの内容を数式 Topic.bookingDate > (DateAdd (Now(), 14)) に置き換えてから、挿入を選択します。

  9. 条件ノードで、メッセージの送信ノードを追加し、メッセージ You qualify for a discount を入力します。

  10. その他のすべての条件ノードで、メッセージの送信ノードを追加し、メッセージ Sorry, you don't qualify for a discount を入力します。

    条件ノードにあるメッセージ ノードのスクリーンショット。