見出し画像

Power FxがPower Automate for desktopで使えるようになりました。

先日公開されたPower Automate for desktop(PAD)のバージョン 2.39 でPower Fxが使えるようになりました。

今回はこの新しい機能を簡単に紹介したいと思います。

※ 2023年12月時点ではプレビュー版の機能です。今後仕様が変更される可能性がある点にはご注意ください。


Power Fxとは

Microsoft Learnの資料によると、Power Fxは下記のように説明されています。

Power Fx は Microsoft Power Platform 全体で使用されるロー コード言語です。 汎用、厳密な型指定、宣言型、そして関数型のプログラミング言語です。
(中略)
Power Fx は、宣言型のスプレッドシートのような数式でオブジェクトをバインドします。 たとえば、その他のコントロールのプロパティに基づいて値を計算する関連式を使用して、UI コントロールの表示プロパティを Excel ワークシートのセルとして考えます。 計算式のロジックは、スプレッドシートと同様に値を自動的に再計算しますが、これはコントロールの表示方法に影響します。

https://learn.microsoft.com/ja-jp/power-platform/power-fx/overview?WT.mc_id=M365-MVP-4029057 より

これを読んでもちょっとピンとこないかもしれません💦
早い話がExcelのワークシート関数のようにコードを書いて処理できる言語がPower Fxです。

たとえばExcelで、文字列の左端から指定した文字数を取り出すLEFT関数を使って「=LEFT("こんにちは", 3)」と書くと、セル上では「こんに」と表示されますが、Power Fxでも同様の機能を持つ「Left」関数が用意されているので、「=Left("こんにちは", 3)」と書くことで、Excelと同じく「こんに」と表示されます。

Power Automate for desktopでの使い方

PADでは、新規フロー作成時に「Power Fxが有効」オプションをオンにすることで、Power Fxが使えるようになります。

上記オプションをオンにした後は、アクションのパラメーターとしてPower Fxの式が使えるようになります。

例えば上で挙げたLeft関数の例ですと、下図のように「メッセージを表示」アクションの「表示するメッセージ」パラメーターの中でLeft関数を使用しています。

上図の通り、Power Fxの式は「=」で始める必要があります。

利用例

PADで使えるPower Fx関数の簡単なサンプルをいくつかご紹介します。

現在時刻の取得

Now関数:「2023/12/24 12:35:01」のような形で現在時刻を返します。

=Now()

テキストの書式設定

Text関数:数値や日付、時刻の値に対して書式設定を行います。下記例では「2023年12月22日(金)」のような形で年月日と曜日を返します。

=Text(Now(), "yyyy年m月d日(ddd)", "ja-JP")

テーブルの作成

Table関数:テーブルを作成します。

=Table(
  {
    商品名: "ピザ",
    価格: 400
  },
  {
    商品名: "ドリア",
    価格: 600
  },
  {
    商品名: "ハンバーグ",
    価格: 800
  }
)

上記式で作成したテーブルは、PAD上では「リストカスタム オブジェクト」になります。

テーブルに列を追加

AddColumns関数:指定したテーブルに列を追加します。

=AddColumns(MyTable,
  税込み価格,
  Trunc(価格 * 1.1)
)

上記式では事前に作成したテーブル(MyTable)に、既存の「価格」列の値に1.1を掛けた数値を値とする新しい「税込み価格」列を追加しています。

テーブルのフィルタリング

Filter関数:テーブルから指定した条件を満たすレコードを取得します。

=Filter(MyTable, 価格 > 500)

上記式では事前に作成したテーブル(MyTable)の「価格」列の値が500以上のレコードのみを取得します。

文字列のURLエンコード

EncodeUrl関数:指定した文字列をURLエンコードした値を返します。

=EncodeUrl("こんにちは")

上記例では「こんにちは」をURLエンコードした値「%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF」が返されます。


その他、PAD上で使える関数については、下記Microsoft Learnの資料をご参照ください。

制限事項

PADでPower Fxを使用する上でいくつかの制限事項があります。
Microsoft Learnに詳しく書かれているので、下記ページをご参照ください。


おわりに

最初に書いた概要にある通り、Power FxはPower Platform全体で使用される共通言語となっています。即ち一度使い方を覚えてしまえば、Power Appsをはじめとした他のサービスでもその知識は活用できるわけです。
(Power Fxの実装はPower Appsの方が早いので、今回のPADへの実装は、むしろPower Appsに慣れている方がPADを使い始める良いきっかけになるのかもしれません)

今回のアップデートでPADでPower Fxが使えるようになったことで、上で挙げたサンプルのように、これまではスクリプトによる処理が必要だった場面もPower Fxの式に置き換えることができるようになりました。

2023年12月時点では使える関数は限られていますし、今後仕様が大きく変わる可能性もありますが、メリットは非常に大きく、今後も要注目の機能と言えるでしょう。

関連Webサイト

この記事が気に入ったらサポートをしてみませんか?