技術情報ブログ
Power Platform
2024.06.05

【2024年6月更新】Power Automate 設計・構築時のTips集

【2024年6月更新】Power Automate 設計・構築時のTips集
小刀稱知哉

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

Power Automateは、コーディングの知識がなくともお手軽に業務の自動化を行うことができる非常に有用なツールです。
また、環境さえあれば誰でもお手軽に構築を始めることができます。

弊社のお客様でも、独学でPower Automateを活用し、自身の業務効率化を行っている方が多くいらっしゃいます。 そのようなお客様からの質問で、「独力で今までやってきたけど、構築方法はこれがベストなのか?」というご質問をいただくことがあります。

確かに、Power Automateはお手軽といえど、そこにはお作法が存在します。

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

そこで、今回は「Power Automate虎の巻」として、設計・構築時のTips集を紹介していきます。

弊社のノウハウが詰まった資料となっております!

Power Automateで設計・構築をしたことがある方は是非ご覧いただきたいです。
また、今から始める方も事前にご一読いただくことをおすすめいたします。

 

アクション名の付与方針は事前に決めるべし!

Power Automateは、アクションを追加していくことで、フローを構築していきます。

本記事では、そのアクション名の考え方について記載しています。
何気なくアクション名を変更している方もいるとおもいますが、実は奥深い内容だったりします。

アクション名を変更する・変更しないについてそれぞれのメリット・デメリットを記載しています。

また、それぞれの場合において、守っていただきたいポイントも記載しています。

 

変数を用いて類似アクションを共通化すべし!

Power Automateにてフローを作成する際、「条件」アクションなどを用いて分岐を作成することがあると思います。

その際に、各分岐の先で類似アクションを入れていませんか?
(例:承認の可否に応じて、送信するメールの内容を変更する)

修正コストが小さいフローを作成するためには、類似アクションはなるべく共通化することをお勧めします。
本記事では、類似アクションを共通化させるためのノウハウを記載しています。

 

トリガーアクションの下には、
「データを取得する」アクションを配置すべし!

フロー作成時、トリガーアクションで得た動的コンテンツを、そのまま後続のアクションで使用していませんか?

実はこの方法では、トリガーアクションを削除・変更した場合に、後続アクションに入っている動的コンテンツも自動的に削除されてしまいます。
上記を防ぐため、トリガーアクションの下に、「データを取得する」アクションを追加すると、修正コストの小さいフローを作成することができます。

本記事では、「データを取得する」アクションの有無によって、どのような違いがあるのかについて実例を示しながら説明しています。

 

「終了」アクションを活用し、
アクションの入れ子を回避すべし!

フローを構築していくと、「条件」アクションの中に更に「条件」アクションが必要(=アクションが「入れ子」)となるような場合があります。

この際、アルゴリズム通りに構築してしまうと、フロー全体を把握することが難しくなるため可読性が低下します。
(アクションのネストが深くなりすぎて、「今どこを見てるのか?」となったことはありませんか?私はよくあります(笑))

本記事では、「終了」アクションを活用することで、アクションの入れ子を回避する方法について説明しています。

 

Apply to each×コンカレンシー×変数の設定はNG!

Power Automateの高速化を行う際の1つの方法として、コンカレンシー制御を活用する場面は多いと思います。
コンカレンシー制御の設定自体は簡単にできますが、気をつけるべき点が存在します。

それはApply to eachでコンカレンシー制御を行う場合は、変数の設定を行ってはいけないということです。
今記事の内容を知っていないと、フローを実装したけど予想と異なる値が格納されることになるため、注意が必要です。

ぜひ内容を理解していただければと思います。

 

検索結果が1件とわかっている場合は、
不要なApply to eachは回避すべし!

Power Automateでフローを作成していると、「Apply to each」アクションが自動的に追加された経験はありませんか?
Power Automateでは配列内の項目を取得する場合、自動的に「Apply to each」アクションが追加される仕様となっています。

しかし、形式は配列になっているものの、取得する値は1つであることが明確である場合、わざわざ「Apply to each」アクションを使用する必要はありません。

本記事では、不要なApply to eachを回避すべき理由と、実際の回避方法について記載しています。

 

トリガー条件を活用し、不要な起動を回避すべし!

フローを構築する際、「起動させるけど、条件に合致しない場合は「終了」アクションですぐ終わらせる」という構築を行っていませんか?

こちらも大きな問題とはなりませんが、トリガー条件を用いると、フローの起動そのものを制限することができます。

これにより、トリガーの回数を減らすことができるので、実行履歴がより見やすくなると思います。

本記事では、不要なPower Automateフローの起動を防ぐため、トリガー条件を用いて、「ある決まった条件の場合のみ、Power Automateフローを起動させる」ための方法について説明しています。

 

「スコープ」アクションを活用すべし!

Power Automateでフローを作成していると、段々とアクション数が多くなって、フロー全体の可読性が下がってしまいます。

このような際、「スコープ」アクションを用いると、複数のアクションをまとめることが出来るため、可読性を向上させることができます。

また「エラー発生時、その内容を保持したい」や「エラー発生の有無に関わらず、処理を実行したい」という要望もあると思います。
このような要望に対しては、「スコープ」アクションを用いた例外処理(try catch finally)を実装することで対応できます。

本記事では、それぞれの実装方法について説明しています。

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

小刀稱知哉

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

1990年生まれ

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

趣味は読書

主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!

持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200

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

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

2024.11.20

【小ネタ】Power Automate×SharePoint:ファイルやフォルダを削除する方法(ゴミ箱・完全削除)

2024.11.06

Power Automateのベストプラクティス・アンチパターン(7)【エラー発生時、管理者へ通知する方法】

2024.10.23

【内製化支援ツール】Power Platform Advisor の紹介

2024.10.09

非エンジニア【(元)自治体職員】が自治体のDX推進リーダーに任命されたつもりで、Power Platformの活用を考えてみた

モデル駆動型アプリ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レスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザイン運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化市民開発管理ガバナンスerror notificationエラー通知削除フォルダゴミ箱完全削除
PageTop
ページトップに戻る