[Power Automate]設定すると自動的に(Apply to each)に格納されてしまう動的なコンテンツを変数として使う方法


Power Automateにおける変数の欠点

Power Automateには「変数を初期化する」というアクションがある。これを使って変数を初期化し、フロー内で使うことができる。

しかし…残念なことに、このアクションはグローバルレベルでしか使うことができない。そのため、スコープの中にまとめて入れておいたり、アクション内で使用するとアクションが自動的にApply to eachの中に格納されてしまう類の動的なコンテンツを使うことができない。うっかり保存しようとすると怒られる。

後者がちょっと厄介。変数自体は便利なのに、一部使えない動的なコンテンツがあるのでは能力を発揮しきれない。

「変数の設定」を活用しよう

そこで使ってほしいのが「変数の設定」。こちらはグローバルレベルじゃなくても使うことができるので、

「変数を初期化する」→「変数の設定」

という工程を踏むことで、アクション内で使用するとアクションが自動的にApply to eachの中に格納されてしまう類の動的なコンテンツを使うことができるようになる。

実務で使っているのは文字列型の変数なので、他の種類だと様子が違うかもしれないけど……「変数を初期化する」の中身は空っぽで大丈夫。「変数の設定」の値に文章を入れて、例のアレを設定。

すると、「変数の設定」はApply to eachの中に自動的に格納されるが、保存はできるし、きちんと意図通りにフローは動く。

例のアレに遭遇する機会があるかどうかは業務の内容に左右されるだろうけど、もし「変数に動的なコンテンツを使いたいのにApply to eachの中に勝手に格納されちゃって保存できない!」という状態になったらこの方法を試してほしい。