こんにちは、開発事業部の芦矢です。 今回は「SharePoint上にアップされるデータファイルをコンバートし、CSVファイルとして出力する」フローを自動化したいというお客様の要望をPower Automateを利用して実現した事例を紹介したいと思います。
🌱開発の背景
要望は下記の2点でした。
1. 自動化 月ごとの売り上げデータを抽出し、顧客データを突き合わせて、顧客毎に送信するデータを毎月手作業で行っていたが、手間であるため自動化したい。
2. 費用は抑えたい 既存のMicrosoft 365 ライセンスの範囲で実現したい。
そこで、今回はSharePointにアップされたファイルをPower Automateで取り込み、顧客データと合わせ、送信用のデータにコンバートしたCSVファイルをSharePointに出力するとしました。
👨🏫処理概要
詳細は省いていますが処理の流れは以下の通りです。 1.Power Automateが指定したフォルダにアップされたファイルを検知する。
2.そのファイルと顧客マスタファイルのデータをAzure SQL DB にインポートする。 Power Automate上でコンバート処理は難しいため一度DBにインポートします。
3.Azure SQL DBでコンバートし、CSVデータ作成。
4.CSVデータSharePointにファイル出力。
5.処理完了メールをOffice 365 Outlook で送信。
※今回はAzure SQL DBを使用しましたが、オンプレミスのDBでも可能です。 ※アップロードファイルは動的データのためxlsxからcsvに変換してからインポートします。
Power Automateを使用するメリット・デメリット
🥳メリット
同じような仕様のバッチを作成した場合と比べた場合は以下のとおりです。
- 期間、コストが抑えられる
- バッチを配置するサーバーが必要ない。
- Microsoft 365サービスとの認証などの連携が簡単。
- 外部サービスとの連携も多種多様なコネクタが用意されており簡単。
- 実行履歴など管理がしやすい。
🤦♂️デメリット
- プログラムがないのでソース管理ができない。 →ただし、エクスポートしたファイルを管理することはできます。
- Power Automateの仕様に沿うため細かいデータ処理などはできない。 →今回のようにコンバートはSQL Severで行うなど他サービスを使用することで実現できることはあります。
- 追加でコストが発生する場合があります。 Outlook、SharePoint、OneDirve、ExcelなどMicrosoft 365 内のサービスとの連携であれば追加のライセンスは不要で利用できますが、今回のようにSQL Serverなど外部サービスとの連携にはプレミアムコネクタの使用が必要となり、Power Automateの有料ライセンスが必要となります。 また処理内容によっては外部サービスを新規に契約することになるので有料ライセンスなどが必要になります。 ※今回の事例ですと、以下が追加コストになります。 (実際のコストはライセンス、データ量によります) ・SQLを使用したのでプレミアムコネクタが必要となったので、Power Automateの有料ライセンス。 ・Azure SQL Databaseを新規に用意したので、Azureのサブスクリプション
🌛さいごに
SharePoint、OneDrive上のファイルの簡単な操作(コピー、移動)やデータファイルのインポート、コンバートなどを定期的な作業を手作業で行っているのであれば、プログラムでバッチを作成するよりワークフローの自動化を圧倒的に簡単に実現できます。 必要に応じて追加でライセンスの費用が発生したり、複雑な処理だとPower Automatだと難しいなどありますが、今回は使用しませんでしたがTeams等との連携もあるので。Microsoft 365を使用しているのであれば積極的に使っていくべきだと思います。