0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Power Automate Desktop】Power Fxとは何ぞや?

Posted at

Power Fx??

Power Fxは、Microsoft Power Platform全般で使用されるローコード言語、とのことです

Power Appsで使用されていた数式言語がもとらしく、Excelで扱う式に似たものを感じています

PADでの扱い方

トリガー

フローを新規作成する際、"Power Fxが有効"のトリガーをオンにする(してしまう)ことで、Power Fxが有効になります:

スクリーンショット 2024-07-26 103644.png

何がどう変わるの?

Power Fxのオンオフによって、それぞれのアクションの変数の扱い、記述方法が変わってきます

一番わかりやすい所でいくと、変数を扱う際...今回は変数"sample"を扱うとしたとき、

Power Fx "なし"の場合
%sample%
Power Fx "あり"の場合
=sample
といった記述になります

内部はどうなっているのさ

PADは"robin"という言語を基にしており、アクションをコピーし、メモ帳に貼り付けることで、そのアクションを構成する記述を見ることができます

これを応用して、フローのアクションをコピーして他のフローに貼り付けする、といったことも可能です

以下の例は変数"sample"の内容を、変数"copytest"に設定するアクションをrobin言語で示したものです

robin:内部比較
#Power Fxなしの場合:

SET sample TO $'''テストデータです'''
SET copytest TO sample

#Power Fxありの場合:

SET sample TO $fx'Power Fxありのテストデータです'
SET copytest TO $fx'=sample'

なるほど若干異なるようです...

ちなみにrobin言語の公式ドキュメントは消滅している(?!)ため、私自身もあまり詳しくありません...

互換性は?

Power Fxを使用していないフローからPower Fxを使用しているロボットにコピペしたとき、ちゃんと動いてくれるのか?という点を気になったので検証してみました

内容は、"先にPower Fxありのテスト処理を回した後に、Power Fxなしのフローで作成したアクションを実行してみる"という内容です

このフロー自体は、Power Fxを有効にしています

画像は実行後の状態です

スクリーンショット 2024-07-26 134817.png

...変数の状態から、上手く実行できたことがわかります

このとき、変数の参照をPower Fx仕様に変更する必要があります

具体的には"%test%"と記述されているものは"=test"と訂正する必要があります

次に、逆の"先にPower Fxなしのテスト処理を回した後に、Power Fxありのフローで作成したアクションを実行してみる"という内容を検証します

また、このフローはPower Fxを有効にしていません

スクリーンショット 2024-07-26 134721.png

怒られてしまいました...

どうやら有効のスイッチ≒許可の是非、という認識でよいかもしれません

この記事を書くきっかけになったのは、ここで躓いたためです...

相違点

実はPower Fxを有効にしたフローとそうでないフローでは、用意されたアクションに差異があります:

Power Fx リスト.png

左はPower Fxが無効、右は有効である場合の変数アクションの一覧です
...なるほどリスト系のアクションがなくなってます

が、

Power Fxが無効のフローで作成

アクション自体をコピー

貼り付け

で扱うことはできるようです

Power Fxの有効か否かでリストの扱いが変わってくるようです

リストの扱い方
#Listという名のリストを扱うとき

#Power Fxが無効:
List[0][1]

"Power Fxが有効:
=ReadCell(List,1,1)

Power Fxを扱う場合、インデックスは1からはじまるようです
つまり、0を指定するとエラーが起きてしまいます 資格試験かな?

まとめ

...ここまでPower Fxについてみてきましたが、個人的にちゃんと使う価値はあると思っています

不便だから使わない!という選択も間違いでなく、確実性を取るならばこちらで間違いないでしょう

私個人の所感として、他のPower Platformコンテンツを開発することになった際のアドバンテージになると思ったのと、
元々Power Platformを使われてた方たちはこちらの方が楽なのかな?というのも(勝手に)思っており、そのために存在しているのかというところです

拙文で恐れ多いですが、最後までお読みいただきありがとうございました!

当方学習中の身ですので、繰り返しにはなりますが実は...みたいな情報があればそっと共有していただけると幸せになります よろしくお願いします...

参考記事

Robin言語について参考記事を紹介してくださっている参考記事です(?):

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?