こんにちは。アーティサン株式会社の小刀稱(ことね)です。
Power Automateは、コーディングの知識がなくともお手軽に業務の自動化を行うことができる非常に有用なツールです。
しかし、誰でも簡単に始めることができるといえど、そこにはお作法が存在します。
お作法を守らずに作成すると、「他の人がメンテナンスできない」や「修正時のコストが大きい」といった問題が発生します。
そこで、Power Automateに関する案件を数多く対応してきた弊社が、現在までに蓄積した「Power Automate設計時のノウハウ」について紹介します。
本記事を読んでいただくことで、Power Automateを扱う際の「やるべきこと・やってはいけないこと」を知り、よりメンテナンス性の高いフローを作るコツを掴めるかと思います。
内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。
また、これからPower Automateを作成したい方も、事前に一読していただくことをお勧めします。
Power Automate初心者の方は、以下の記事も参考にしてください。 Power AutomateでExcelデータをSharePointにインポートするために考えること(第1回)
第2回目の今回は「変数を用いた類似アクションの重複回避」についてお伝えしていきます。
アンチ・パターン(類似アクションの重複)
最初にNG例について紹介します。
下記のPower Automateは、「Formsで送信した内容を基に承認を行い、承認 or 否認の場合に申請者へメールを送信する」フローです。
「はいの場合」「いいえの場合」どちらとも「メールの送信」アクションが設定されています。
このフローでは、メールの送信内容や「メールの送信」アクションの各設定値を変更する場合、両方のアクションに対し、それぞれ修正を加える必要があります。
※下図では、メールの重要度を変更しようとしています。
このように、類似アクションを重複して利用している場合、修正時のコストが大きくなってしまいます。
ベスト・プラクティス(変数を用いた類似アクションの共通化)
修正コストを小さくするためには、類似アクションの重複を避け、共通化させることが重要です。
また、共通化できない部分は、変数を用いることで動的に値を設定します。
先程作成したフローを修正しましょう。
「メールの送信」アクションを共通化しました。
また、共通化できない部分は変数(今回の場合は、status)を用いて動的に値を設定しています。
このように修正することで、メールの送信内容や「メールの送信」アクションの各設定値を変更する場合、1つのアクションのみ修正することで対応できるので、修正コストが小さくなります。
まとめ
Power Automateは、お手軽に作成することができるため、1回で完璧なフローが完成することはなく、トライ&エラーを繰り返していきながら、より使いやすいフローにしていくという流れが多いです。
その際修正コストが大きいと、修正にかかる時間が長くなってしまいます。
また、アクション間で設定の整合性を図る必要もあるため、全体的な作業が手間が大きくなってしまいます。
このような問題を避けるためにも、修正コストが小さいフローを作成することは重要です。
今回ご紹介した内容も、とても有用な内容ですので、是非覚えていただきたいです!
【このシリーズの過去回一覧】
-
Power Automateのベストプラクティス・アンチパターン(1)
【アクション名は変更すべき?】 -
Power Automateのベストプラクティス・アンチパターン(2)
【変数を用いて類似アクションを共通化!】 -
Power Automateのベストプラクティス・アンチパターン(3)
【トリガーで得た動的コンテンツをそのまま使用するのはNG!】 -
Power Automateのベストプラクティス・アンチパターン(4)
【アクションの入れ子を回避】 -
Power Automateのベストプラクティス・アンチパターン(5)
【Apply to each×コンカレンシー×変数の設定はNG】 -
Power Automateのベストプラクティス・アンチパターン(6)
【Power Automate上でExcelファイルを編集する際の注意点】
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200