Power Automateは、Microsoftが提供する強力な自動化ツールです。 これにより、さまざまなアプリケーション間でのタスクを簡単に自動化し、日常業務を効率化することが可能です。特に、Power Appsと組み合わせることで、専門的な技術知識や開発経験がなくても、生産性を高めるアプリケーションを比較的簡単に作成することが可能です。
はじめに
ビジネスの現場では、日々生み出される膨大なデータを効率的に管理することが求められています。Power Apps(Teams)を使用する際、Dataverse for TeamsやListsをデータソースとして活用することは、多くのビジネスプロセスにおいて効果的です。
また、これらのデータソースからExcelにデータを書き出すことは、分析やレポート作成を容易にし、業務のスムーズな遂行に寄与します。
本記事では、Power Automateを用いて、DataverseやListsのデータをExcelに書き出す方法を、具体的な手順と共に解説します。 自動化機能を駆使することで、手作業による時間の浪費を減らし、データ管理の精度を向上させることができます。
なお、この記事は、Power Automateを起動してフローを作成し、タスクを自動化するなど、ある程度Power Automateの基本操作ができる方を対象にしています。Power Automateの基本操作から学びたい方は、別途関連サイトや書籍を参考にすることをおすすめします。
さらに、Power Appsの基本操作も理解されていることをおすすめします。これにより、両プラットフォームの機能を最大限に活用し、業務の自動化とアプリケーション開発の両方において、より効果的な結果を得ることができます。
フローの概要
この記事では、クラウド上(ここではTeams上)のExcelファイルに、Dataverse又はListsのデータソースからフィルタリングにより抽出した任意のレコードを転記する方法について解説します。Excelファイルはテンプレートとして用意したものを使用し、ファイル名には日時を付記します。Teams上で書き出しファイルを管理することによりチームでファイルを共有することができます(個人利用する場合であればOneDriveが便利)。
次のセクションでは、具体的な処理の流れを詳しく説明します。
ステップの詳細
Power Automateでは、ステップを組み合わせて目的の処理を行います。以下に各ステップの詳細について説明します。
Power Apps からフローをトリガーする
まず最初のステップでは、Power Appsからフローを開始します。具体的には、Power Apps内の特定のアクション(ボタンクリックなど)が行われたときにフローが自動的に開始されます。その際、引数として行フィルターの情報を受け取ることができます。
- Power Automateにログインし、新しいフローを作成します。
- Power Appsから行フィルターの情報を受け取ります。ここでは、日付の範囲を指定しています。
データソースの行を取得する/行のフィルターを設定する
次のステップでは、DataverseやListsから必要なデータを取得します。具体的には、データソースから全ての行を取得し、取得したデータから、特定の条件に一致する行だけをフィルタリングします。
- 「新しいステップ」をクリックし、「Microsoft Dataverse」コネクタ(Dataverse)又は「SharePoint」コネクタ(Lists)を選択します。
- 「行を一覧にする」アクション(Dataverse)又は「複数項目の取得」アクション(Lists)を追加し、対象となるテーブルを選択します。
- 「行を一覧にする」アクション内で「行のフィルター」(Dataverse)又は「複数項目の取得」アクション内で「フィルタークエリ」(Lists)に抽出条件を指定します。下図の例では、日付範囲に基づいたフィルタリングを行っています。
フィルターの指定方法については、次の記事も参照してください。
Power Automateは、Microsoftが提供する強力な自動化ツールです。これにより、さまざまなアプリケーション間でのタスクを簡単に自動化できます。Power Appsと組み合わせることで、専門的な技術知識や開発経験がなくても、[…]
Excelファイルの準備(テンプレートを読み込む)
事前に用意したExcelのテンプレートファイルを読み込みます。このテンプレートには、データを書き出すためのや、データのレイアウトが定義されています。テンプレートを使用することで、ユーザでデータの書き出し先のフォーマットを統一することができます。
ここでは、Teams上に用意したテンプレートファイルを読み込みます。
- 「新しいステップ」をクリックし、「SharePoint」コネクタを選択します。
- 「ファイルコンテンツの取得」アクションを追加し、サイトのアドレスとファイル識別子を指定します。
- こうして取得したテンプレートファイルは、後続のアクションで使用することができます。
Excelファイルに名前を付けて任意のフォルダに保存する
読み込んだテンプレートファイルに名前を付け、任意のフォルダに保存します。ファイル名には日時を付記することで、データの更新日時を一目で確認できます。
取得したデータを保存するためのExcelファイルに名前を付けて、指定したフォルダに保存する方法を説明します。ファイル命名のルールや保存先フォルダの指定方法について具体的に解説します。
- 「新しいステップ」をクリックし、「SharePoint」コネクタを選択します。
- 「ファイルの作成」アクションを追加し、サイトのアドレスとフォルダーのパス、ファイル名及びファイルコンテンツを指定します。
- 「ファイル名」には、次のとおり動的コンテンツの式を利用し、日付と時刻の内容を含めます。
concat('SodanList-',formatDateTime(addHours(utcNow(),9),'yyyyMMddHHmmss'),'.xlsx')
- 「ファイルコンテンツ」には、前のステップで取得したテンプレートファイルからファイルコンテンツを指定します。
Excelの表にDataverseの行を転記する
最後に、データソースからフィルタリングして取得したデータを一行ずつExcelの表に転記します。ループのなかで、日付データについては、タイムゾーンを「(UTC+09:00)大阪、札幌、東京」に変換する処理を行っています。
- 「新しいステップ」をクリックし、「コントロール」から「それぞれに適用する」コントロールを選択します。
- 「以前の手順から出力を選択」に「行を一覧にする」アクションの動的コンテンツである「value(アイテムの一覧)」を設定します。
- 「日時」コネクタの「タイムゾーンの変換」アクションを追加し、「基準時間」の対象となるデータソース内の日付データと変換に必要な情報を設定します。
- 「データ操作」コネクタの「作成」アクションを追加し、「入力」に「タイムゾーンの変換」アクションで処理した動的コンテンツである「変換後の時間」を設定します。このステップは必須ではありませんが、後の処理をわかりやすくするため追加しました。
- 「Excel Online(Business)」コネクタの「表に行を追加」アクションを追加し、「場所」に前のステップで作成したファイルの置き場所を指定します。
- 「ファイル」には、前のステップで作成したファイルのパス名を指定します。ファイル名には動的コンテンツから「ファイルまたはフォルダの名前(Name)」を設定しています。
- 「テーブル」には、Excelファイルに設定されているテーブル名を設定します。
- データソースから取得したデータを対応するExcelの列にマッピングします(上図は、Dataverseの例)。
まとめ
本記事では、Power Automateを用いて、DataverseやListsのデータをExcelに書き出す方法を紹介しました。
この手法は、日々の業務で生み出される膨大なデータを効率的に管理し、分析やレポート作成を容易にするための重要な手段です。
Power Automateの自動化機能を駆使することで、手作業による時間の浪費を減らし、データ管理の精度を向上させることが可能です。
また、Power Appsと組み合わせることで、専門的な技術知識や開発経験がなくても、生産性を高めるアプリケーションを比較的簡単に作成することが可能となります。
今回ご紹介した方法は、あくまでも一例です。必要に応じて、フローをカスタマイズすることで、様々なニーズに対応することができます。
ぜひ今回ご紹介した方法を参考に、Power Automateを活用して、業務を自動化してみてください。