ルドルフもわたるふもいろいろあってな

Microsoft 365、Power Platform、PowerShellについて調べたことや検証したことなどを投稿します。技術の話は面白い。

【Power Automate】【応用編】分岐アクションの組みかたに関する経験則

掲題の応用編です。


今回作成したフローをGitHubで公開しました。

  • 分岐ロジックの経験則パターン1修正前
  • 分岐ロジックの経験則パターン1修正後
  • 分岐ロジックの経験則パターン2修正前
  • 分岐ロジックの経験則パターン2修正後その1
  • 分岐ロジックの経験則パターン2修正後その2

github.com

解説の経緯

今回の投稿は基本編の続きです。

概要

基本編の最後に提示した応用問題の回答例2つを解説します。

応用問題(再掲)

Power Automate で下記のフローを作成してください。

  • トリガーは手動実行とする
  • 下記の3項目をトリガーの入力とする
    • 分岐A(種類:はい/いいえ)
    • 分岐B(種類:はい/いいえ)
    • 分岐C(種類:はい/いいえ)
  • 下記のいずれかの条件を満たすときに「特定のアクション」を実行する
    • 分岐AがTrue、かつ、分岐BがFalse
    • 分岐A、分岐B、分岐CがすべてTrue
  • 条件アクションを3つ使うこと

手直し前のフロー図がこちらです。

回答例その1(「終了」アクションを使う方法)

フローのアクションを開いた状態

修正点は以下の通りです。

  • 分岐Aのアクション内から分岐Bを外に出した
  • 「特定のアクション」も分岐アクションの外に出した
  • それにともなって「特定のアクション」を実行したくない分岐である2箇所に「終了」アクションを配置した
    • 分岐Aの「いいえ」分岐
    • 分岐Cの「いいえ」分岐

※注意:分岐Bが「いいえ」の場合は分岐Cは通りません。つまり、分岐BとCは依存関係があります。そのため分岐BとCの入れ子関係は保持しています。

閉じた状態

回答例その2(フラグを使う方法)

フローのアクションを開いた状態

修正点は以下の通りです。

  • フローの最初に変数「処理実行フラグ」の宣言を配置
    • 初期値は True
  • 分岐Aのアクション内から分岐Bを外に出した
  • 「特定のアクション」を実行したくない分岐である2箇所に「処理実行フラグをFalseに設定」アクションを配置
    • 分岐Aの「いいえ」分岐
    • 分岐Cの「いいえ」分岐
  • フローの最後で「処理実行フラグがTrueであるか判定する」分岐を配置
    • Trueであれば「特定のアクション」を実行させる


閉じた状態

このフローをGitHubで公開しました。(再掲)

フローをGitHubで公開しました。下記リンク先からダウンロードしてください。この投稿の冒頭で記載しているリンクと同じです。
github.com

最後に

この回答例その1とその2はケースによって使いわけます。
繰り返し処理が無いシンプルなフローの場合は回答例その1で十分です。反対に、繰り返し処理内で複数の条件アクションを使うようなフローの場合は、回答例その2のようにフラグを活用するのが良いと思います。


今回は以上です。