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

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

【Power Automate】【TIPS】【連載その4・最終回】フローの設計・実装における私なりのロジックの組み立て方

掲題の連載その4です。今回は完成形となるフローの作成を解説します。

解説に使用するサンプルフローをソリューションにまとめてGitHubに公開しました。

github.com

GitHubで公開しているソリューションに含めているフローは下記5つです。今回の投稿(連載その4)で主に使用するフローは「プロトタイプ3_追加パターン対応後」および「完成形」のフローです。

  • 指定された形式に日付を変換_1_プロトタイプ1
  • 指定された形式に日付を変換_2_プロトタイプ2
  • 指定された形式に日付を変換_3_プロトタイプ3_追加パターン対応前
  • 指定された形式に日付を変換_4_プロトタイプ3_追加パターン対応後
  • 指定された形式に日付を変換_5_完成形

解説の経緯

今回の投稿は連載その1連載その2連載その3の続きです。

今回は完成形のフローをつくります

前回(連載その3)ではプロトタイプ2からプロトタイプ3への変化プロセスに焦点を当て、入力値のパターン増加を条件分岐の追加実装で対応することについて解説しました。

今回は段階的なフロー開発の続きとして、完成形フローを作成します。今回でこの連載は終了です。

今回解説に使用しているフローにおいては、完成形フローの作成で「使用する変数の追加」や「条件分岐の追加実装」はありません。

固定値に仮置きしている箇所のひとつを繰り返し処理に置き換えるのみです。

プロトタイプ3 から 完成形への変化

概要

プロトタイプ2・3の作成のときと同じく、完成形フローの作成行程においても仮置きのアクションを繰り返し処理に置き換える作業を行います。

プロトタイプ2・3の作成時と同じく「フローの最終的な出力」に近い順に置き換えを行います。解説に使用するサンプルでは「【仮置き】作成-改行で分割-1行のみ」というアクションが該当します。

今回の置き換えにより、仮置きのアクションはすべて、必要とされる繰り返し処理に置き換えられます。これは、段階的に処理フローを進めた結果、求められるすべての出力に対応できるフローが完成するに至ったことを意味します。

「ひとつの要素を対象とした処理」を「配列を対象とした処理」に置き換える

プロトタイプ2からプロトタイプ3への具体的な変化は下記の通りです。

  • 出力の対象が「ひとつの要素」 ⇒  出力の対象が「配列」
    • 変化前:プロトタイプ3では outputs('作成-改行で分割')[2]
                (= 配列から取り出したひとつの要素
    • 変化後:完成形では @outputs('作成-改行で分割')
         (= 配列。繰り返し処理の入力情報として使用)

これで固定値から配列への置き換えが完了しました。

配列を入力値とした繰り返し処理をフロー追加した際に既存のアクションのいくつかを要件に応じる形で繰り返し処理の中に移動しました。「変数を初期化する」アクションは他のアクションの内部に配置できないため、繰り返し処理の内部への移動はせずそのままの位置に置いています。

ポイントは、プロトタイプ1ではすべて固定値を使用していたフローを開発の段階を進める過程で必要に応じて固定値から配列および変数に置き換えていったため、完成形フローでは自然と定数と変数の使い分けができた形になっている点です。

完成形フローができあがりました

解説で使用するフロー全体で合計3つある【仮置き】アクションのうち、みっつめの置き換えがこれで完了しました。これでこのフローは完成です。

動作確認結果もOK

フローの出力が求められる内容と完全に一致してしていることを確認しました。

詳細な設定内容については実際のフローで見てください

解説に使用するサンプルフローをソリューションにまとめてGitHubにアップロードしました。

github.com

ソリューションに含めているフローのうち、今回の投稿で使用しているフローは下記の2つです。今回の投稿内容を振り返る際、実際のフローを比較していただければ、より理解が深まると思います。

  • 指定された形式に日付を変換_4_プロトタイプ3_追加パターン対応後
  • 指定された形式に日付を変換_5_完成形

不明点がありましたらご連絡ください

解説内容について不明点がありましたら質問ください。下記リンクで開いたフォームから投稿いただければ匿名で質問ができるのでおすすめです。(もちろんフォーム内で名乗っていただいてもOKです。)

質問に対する回答は本ブログで公開します。

marshmallow-qa.com

9/28(土)20時のオンライン勉強会で本連載についてお話します

2024/09/28(土) 20:00 〜 21:30 に開催される「気ままに勉強会 #94」で今回の連載内容についてお話させていただきます。

気ままに勉強会 #94 - connpass

今回は以上です。

【追記】勉強会の登壇資料を公開しました

wataruf.hatenablog.com