掲題の応用編です。
今回作成したフローをGitHubで公開しました。
- 分岐ロジックの経験則パターン1修正前
- 分岐ロジックの経験則パターン1修正後
- 分岐ロジックの経験則パターン2修正前
- 分岐ロジックの経験則パターン2修正後その1
- 分岐ロジックの経験則パターン2修正後その2
解説の経緯
今回の投稿は基本編の続きです。
概要
基本編の最後に提示した応用問題の回答例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のようにフラグを活用するのが良いと思います。
今回は以上です。