こんにちは。アーティサン株式会社の小刀稱(ことね)です。
「Power AutomateでExcelをSharePointリストにインポートしたい時に考えること」シリーズの第11回です。
今回で本シリーズは最後となります。
本シリーズでは、私が実際にPower Automateを用いて、「ExcelをSharePointリストにインポートする」フローを作成していきます。
また、作成の際に学んだ点や躓いた点を中心に紹介いたします。
Power Automateでどんな事ができるのか知りたい、実際の作成方法を知りたい、という方に向けた記事です。
第10回目の内容はこちらを参照ください。
Power AutomateでExcelをSharePointリストにインポートしたい時に考えること(第10回)
今回は、スコープアクションを紹介します。
「スコープ」アクションについて
突然ですが、前回までで作成したフローをご覧ください。
動的なExcelデータの取得や256行よりデータが多い場合の対処など、実際の運用に合わせて多くのアクションを追加したため、最初(第2回)に作成したフローと比較すると、フローの可読性が低下してしまいました。
ちなみに最初に作成したフローはこちら。
このような際、スコープアクションを用いると、複数のアクションをまとめることが出来るため、可読性を向上させることができます。
また、「エラー発生時、その内容を保持したい」や「エラー発生の有無に関わらず、処理を実行したい」という要望もあると思います。 このような要望に対しては、スコープアクションを用いた例外処理(try catch finally)を実装することで対応できます。
以下では、それぞれの実装方法について説明します。
フローの可読性向上
可読性を向上させるために、まとまりのある一連のアクションを、スコープアクションにて囲みます。
今回のフローでは、「ファイルIDを取得するために必要なアクション」と「テーブルIDを取得するために必要なアクション」でそれぞれまとめることができそうです。
上記2つをスコープアクションでまとめると、以下のようになります。(第1階層のみで表示)
アクションのまとまり毎に「何を行っているのか」がわかりやすくなったため、フローの可読性が向上したと思います。
例外処理
スコープアクションを用いて、例外処理を実装してみましょう。
ロジックの修正
例外が発生した場合は、対象行をErrorListへ格納
例外発生の有無に関わらず、RowCount・SkipCountを更新
インポート結果をメールにて通知
項目の作成アクションを用いてExcelデータをインポートする際、表データの中に異なる形式の値が存在すると、アクションの結果は失敗(例外発生)となります。
例外が発生した場合は、対象行をErrorListへ格納します。
また、例外発生の有無に関わらず、RowCount・SkipCountを更新させます。
例外処理の追加
以下の手順で例外処理を作成します。
スコープ(try catch finally)でまとめる
catchスコープとfinallyスコープの「実行条件の構成」を変更する
(1)スコープ(try catch finally)でまとめる
スコープアクションでまとめる前に、インポートできなかった行を格納する配列変数(ErrorList)を追加します。
変数を初期化する(SkipCount)アクションの後続に、変数を初期化する(ErrorList)アクションを追加し、変数を初期化します。
また、項目の作成アクションの後続に、配列変数に追加アクションも追加します。
変数の準備が整いましたので、try・catch・finallyのスコープアクションを作成し、以下のようにアクションを囲みます。
(2)catchスコープとfinallyスコープの「実行条件の構成」を変更する
catchスコープとfinallyスコープの「実行条件の構成」を変更することで、例外処理機能を実装します。
「実行条件の構成」は第10回で説明しておりますので、参照してください。
設定内容は以下です。
catchスコープ :前のアクションが失敗したら実行
finallyスコープ:前のアクションが成功or失敗orスキップorタイムアウトしたら実行
この設定により、catchアクションは、tryアクションが失敗(例外発生)した場合、実行されます。
また、finallyアクションは、例外発生の有無に関わらず実行されます。
最後に、インポート作業終了時、メールにて通知するようアクションを追加しましょう。
Do Untilアクションの後続に条件アクションを追加し、ErrorListの要素数によりメールの送信内容を変更します。
要素数が0の場合 :すべての行が正常にインポートされたされた旨を通知
要素数が0でない場合:インポートに失敗した旨を通知 ※失敗した行も併せて通知
ErrorListの要素数を取得するには、length()関数を用います。
具体的な式は以下です。
length(variables(‘ErrorList’))
ここまで作成したフローは以下のとおりです。
フロー実行
ではフローを実行してみてください。
表データの中に異なる形式の値がある場合は、その内容がメールにて通知されていると思います!
さて、全11回でお届けした本連載は今回で終了です。
Power Automateはコーディングの知識が不要であり、IT技術者以外の方も手軽に業務の自動化を実施することができます。
しかし、お手軽といえど多少の慣れは必要になりますので、今回の連載のようにトライアンドエラーを繰り返していきながら、操作方法や各アクションの使い方などを覚えていただくことが技術習得の一番の近道になると思います。
次回以降のテーマですが、「Power Automateの中級者向け」や「Power Appsの初心者向け」に関する内容を書こうと思います!
最後まで読んでいただき、ありがとうございました!
【このシリーズの過去回一覧】
-
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第1回】
4つのシーンごとに手法を比較、その最適解とは? -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】
フロー作成でエラー発生! -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第3回】
フロー実行時のエラー内容と対処方法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第4回】
タイムゾーン差異と対処法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第5回】
ExcelファイルIDを動的取得 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第6回】
インポートするためのドライブIDを取得する方法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第7回】
ファイルIDとテーブルIDを動的取得 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第8回】
トリガーの条件の指定方法 -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第9回】
Excel表データの行数が多い場合の対処法 -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第10回】
インポートがうまくいかない!原因と対処法は? -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第11回】
煩雑なフローをアクションで可読性向上!
【こちらも合わせて読みたい】
地方自治体ローコード導入・運用支援サービス(Power Apps・Power Automate)
Microsoft社が提供するローコード技術であるPower Platformを用いて、自治体様のDX化を支援します。
X-SP | SharePoint デザイン・機能拡張サービス
デザイン×機能を兼ね備えたSharePointを提供いたします。
SharePointの利便性を向上し、操作性と視認性を兼ね備えたデザインでユーザーの業務効率化・ストレス低減を提供します。
内製化支援サービス | Power Platform(Power Apps・Power Automate)
Power Platform(Power Apps・Power Automate)開発や運用をスムーズに内製できるよう支援いたします。
DX人材育成プログラム | Power Apps・Power Automte 教育
Microsoft社が提供するローコード技術であるPower Platformを用いて、社内のDX化を推進するための人材を育成いたします。
Power Apps/Power Automateアプリ開発・導入支援サービス
Microsoft社が提供するPower Apps / Power Automateの導入支援として、高度なアプリも最速で作れる業務アプリ作成支援サービスを提供いたします。
SharePointモダン化コンサルティングサービス
従来のSharePoint から移行・モダン化したい方に向けて、事前調査からサイト作成・活用支援までトータルなコンサルティング・技術支援を提供いたします。
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305