Copilot Studioの計算式の中からトピック変数やグローバル変数を使う方法について。
計算式(Power Fx式)
Copilot Studioでは色々なところ(質問する、変数を設定する、メッセージを送る など)で、Power Appsと同様のPower Fx式を使うことができる。


今回はこの計算式について色々調べてみた。
利用できる関数
Copilot Studioで利用できるPower Fxの関数は、全体の一部(当然かもだけどPDF関数とか, SaveData関数とかは使えない)。
ただ、公式の一覧にない「Sequence」関数とかも使えるので、一覧に関数が書いていなくても試す価値はあり。


演算子
演算子はすべて使えるようで、四則演算、大なり小なりはもちろん、inとかも使える。


ただ、文字列補間を使った記法は若干怪しい。


これはCopilot Studioのコードがそもそも文字列補間記法を使っているからかと思われる。


複雑な式も記述可能
公式に記載のある「ForAll」や「Filter」はもちろん、「With」とかも使えるので、それなりに複雑な式を記述することもできそう。
※10までの自然数のうち、6以上の値を2乗した結果をテーブルで出力

※10までの自然数のうち、6以上の値を2乗した結果をテーブルで出力

長めの式を書くときは右上の拡大ボタンを押すと、書きやすい。




定数の利用
変数の中にリテラル値(固定の文字列、数字など)を代入したいときも計算式を利用えきる。


計算式の中で変数を使う
計算式の中で変数にアクセスする際は、以下のプレフィクスを付ける必要がある。
- システム変数:System.
- グローバル変数:Global.
- トピック変数:Topic.
例えばトピック変数を式の中で使うときはこんな感じで、


グローバル変数を扱うときはこんな感じ。


ちなみに公式には書かれていないけど環境変数へは「Env.」を付ければアクセスできるよう。


配列の扱い
Power Fx式内では配列も宣言できるけど、Power Appsと同様に純粋な配列ではなくオブジェクト配列(テーブル)になる。
例えば[1,2,3,4,5]と宣言すると、[{Value:1},{Value:2}…]というテーブルになる。


コメント
計算式内にコメントを書くこともできるので、複雑な式を書いたときとかはコメントを残すと喜ばれるかも。


コメント