技術情報ブログ
Power Platform
2022.05.18

Power Automate設計時のノウハウ紹介(4)【アクションの入れ子を回避】

エンジニア募集しています

アアーティサンではローコードエンジニアをはじめ、クラウド開発者やコンサルタントなどを募集しています。
アーティサンの仕事内容や転職にご興味のある方はこちらもご覧ください。

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Automateは、コーディングの知識がなくともお手軽に業務の自動化を行うことができる非常に有用なツールです。
しかし、誰でも簡単に始めることができるといえど、そこにはお作法が存在します。

お作法を守らずに作成すると、「他の人がメンテナンスできない」や「修正時のコストが大きい」といった問題が発生します。

そこで、Power Automateに関する案件を数多く対応してきた弊社が、現在までに蓄積した「Power Automate設計時のノウハウ」について紹介します。

本記事を読んでいただくことで、Power Automateを扱う際の「やるべきこと・やってはいけないこと」を知り、より保守性の高いフローを作るコツを掴めるかと思います。

内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。
また、これからPower Automateを作成したい方も、事前に一読していただくことをお勧めします。

Power Automate初心者の方は、以下の記事も参考にしてください。

第4回目の今回は「アクションの入れ子を回避」という内容についてお伝えしていきます。

 

アンチ・パターン(アクションが入れ子)

最初にNG例について紹介します。

2段階承認を行うPower Automateを実装します。
フローのアルゴリズムは以下です。

申請者の上司(=上司1)に承認を依頼

If(承認結果が「承認」){
    上司1の上司(=上司2)に承認を依頼
    
    If(承認結果が「承認」){
        メールを送信(承認完了)
    }else{
        メールを送信(差戻)
    }
}else{
    メールを送信(差戻)
}

上司1が承認すると、上司2へ承認依頼が通知されます。
上司1,2から承認されると、承認完了となります。

※実はこのフローはMicrosoft Docsの内容だったりします(笑)

Power Automate を使用してシーケンシャル承認を管理する

このフローをPower Automateにて実装しました。

アクションが入れ子
アクションが入れ子

上記のアルゴリズムをそのままPower Automateに落とし込んでいます。
If文の中に更にIf文があるため、Power Automateでも条件アクションが入れ子となっています。

フローの挙動としては問題ないですが、アクションの入れ子が多くなると、フロー全体を把握することが難しくなるため可読性が低下します。

 

ベスト・プラクティス(アクションの入れ子を回避)

アクションの入れ子を回避するため、フローを以下のように修正しました。
入れ子を回避したため、フロー全体を把握することができるようになり、可読性を向上させることができました。

入れ子を回避
入れ子を回避

ポイントとしては、条件アクションの「いいえ」の中に終了アクションを追加することです。
これにより、条件アクションが「はい」の場合は次のアクションに移行し、「いいえ」の場合にはフローを終了させることができます。

このように終了アクションを上手に用いることで、アンチ・パターンのフローと同じ挙動を構築することができます。

 

さいごに

Power Automateに限らず、システムは一度作成したら終わりではなく、バグ対応や機能追加などの保守作業を繰り返し行います。
その際、保守性が低いと、保守作業時に新たなバグを埋め込む可能性が高くなります。
また、現状のフローを調査するために、多くの時間を費やすことにもなります。

今後、他の人が保守することを考えた場合、一目で全体の機能が把握できるような保守性の高いフローを構築することはとても重要です。

今回ご紹介した内容も、とても有用な内容ですので、是非覚えていただきたいです!

 

 

弊社ではPower Platform(Power AppsやPower Automateなど)を用いてお客様の業務を自動化するご支援を数多く承っております。

業務の中で、「普段手動でやっている業務を自動化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

シェアする
記事カテゴリ
最新記事
2023.03.23

Power Apps:キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針(2)

2023.03.03

Power Apps:キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針(1)

2023.02.22

今さら聞けないPower Automate:フローの種類とその違い(2)

2023.02.08

今さら聞けないPower Automate:フローの種類とその違い(1)

2023.01.25

【2023年1月更新】Power Automate 初心者 ~ 中級者 向けロードマップ

2021.06.23

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第1回】4つのシーンごとに手法を比較、その最適解とは?

2
2021.07.14

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】フロー作成でエラー発生!

3
2021.09.03

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第8回】トリガーの条件の指定方法

4
2020.10.02

世界に広がる Power Apps「モデル駆動型アプリ」のココがスゴイ!【第1回】

5
2022.02.16

SharePointのビューに擬似的なアクセス制限をかける方法(1)

--------------------------------------------------->
モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術ItDX情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layout
PageTop
ページトップに戻る