MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

ループと条件分岐は処理対象を明確に [Tips]

Power Automate の Tipsです。

概要

Power Automateでループ (Apply to each/Do until) や条件分岐が入るときに少し厄介なのが、「処理の結果が不明瞭なこと」です。

ループ処理の場合にはいくつ目の処理かはアクションの結果でわかりますが、その時処理された対象のアイテムはそのままではわかりません。

f:id:mofumofu_dance:20200908234830p:plain

これだとループの中で失敗があったときに問題の分析が遅くなります。(何番目の処理なのか から、どのアイテムかを見ていかないといけない)

また条件分岐の時にも、実行結果からわかるのは判定がtrue/falseどちらだったかだけです。

f:id:mofumofu_dance:20200908235321p:plain

これだと、期待動作だった場合にはよいのですが、意図せぬ結果だった時にやはり問題の分析が遅くなります。

ということで、こういう面倒さを緩和するTipsです。

ループは最初に「作成」をせよ

ループの処理対象については、処理開始直後に「現在のアイテム」を「作成」アクションに入れてあげましょう。

これだけでずいぶん楽になります。

f:id:mofumofu_dance:20200909000043p:plain

条件分岐は直前に「作成」をせよ

条件分岐の場合も同様です。単純な項目であればよいですが、何らか加工をした値を条件式に入れたり、または複雑な条件を入れるときには、やはり処理される対象が分かった方がよいです。

f:id:mofumofu_dance:20200909001406p:plain

おわり

Power Automate は各ステップにコメントを入れることができ、これが作成者にとってのメモ代わりになるわけですが、それだけでなく、明示的に途中のステップに処理対象を入れてあげると実行結果の可読性が上がります。

正常に動いている場合は特に気にしないと思いますが、問題が発生した場合のエラー分析の手段として、このような手がかりを実行結果内に残しておくと後で自分が救われるかもしれません。

おまけの追記 (2020/10/07)

作成アクションはどこにでも挿入できるので、フロー上のメモとしても有効に使えます。

条件分岐の前や中に、「どういう条件で、どうしたらTrueなのか」を書いておくとか、ループの前に説明を書いておくといった用途が考えられます。

メモ欄だと小さいし改行のコントロールができないしといった場合に使ってみてください。

f:id:mofumofu_dance:20201007115412p:plain