📌
Power AutomateでSharePointのリストやDataverse for Teams のテーブルをCSVに出力する方法
はじめに
Power Automate で SharePoint のリストや Dataverse for Teams のテーブルを CSV 形式で出力する方法を解説します。実務において、ありふれた操作のため、簡単にできるだろう、と思っていましたが、結果として様々な記事を参照することになったので、ポイントをまとめました。
全体の流れ
SharePoint のリストでも、Dataverse for Teams のテーブルでも、同じ流れで出力できます。
手順 | 内容 |
---|---|
1 | 専用アクションでデータを取得します。 |
2 | CSVテーブルを作成します。 |
3 | 文字化けしないようにファイルを作成します。 |
解説
1. データ取得
専用アクションでデータを取得します。
分類 | 画像 |
---|---|
SharePoint の リスト | ![]() |
Dataverse for Teams の テーブル | ![]() |
2. CSVテーブル作成
「CSVテーブルの作成」を配置し、手順1で取得したValueをセットします。
分類 | 画像 |
---|---|
SharePoint の リスト | ![]() |
Dataverse for Teams の テーブル | ![]() |
3. ファイル作成
今回は、OneDrive for Business コネクタの「ファイルを作成」を使用します。
項目 | パラメータ | 参考 |
---|---|---|
フォルダーのパス | / |
OneDriveのRootのパスです。 |
ファイル名 | formatDateTime(addHours(utcNow(), 9), 'yyyyMMdd_HHmmss').csv | ファイル名に出力日時を入れています。 |
ファイルコンテンツ | concat(decodeUriComponent('%EF%BB%BF'),body('CSV_テーブルの作成')) | decode~で文字化けを回避します。 |
フローを実行すると、OneDrive のマイファイルに出力されます。
参考
手順1のデータ取得と手順2のCSVテーブル作成の間に、アクション「JSONの解析」を入れる方法を紹介している記事もありました。「JSONの解析」を行う目的は、JSONからのValueの抽出と思われますが、手順2の段階で、すでに動的コンテンツとして、Valueが使用できる場合、「JSONの解析」は不要と考えられます。参考として、JSON解析の使い方を解説します。
JSON解析の使い方 | 画像 |
---|---|
手順1の直後に、テスト実行を行い、手順1の出力パラメータのBodyにおいて、Valueを黄色マーカーの位置からドラッグを開始します。 | ![]() |
Valueの閉じ括弧の位置までドラッグしてコピーします。 | ![]() |
アクション「JSONの解析」を配置して「サンプルペイロードを使用してスキーマを作成する」をクリックします。 | ![]() |
先ほどコピーしたJSONのサンプルを貼り付けます。 | ![]() |
生成されたスキーマ(Schema)を確認します。「required」まで下にスクロールします。 | ![]() |
「required」の項目は、各レコードにその項目が含まれていない場合、エラーになるため、全レコードに必ず含まれる項目(ID等)のみに修正します。 | ![]() |
最後に「CSVテーブルの作成」を配置して「JSONの解析」の出力をセットします。以降の手順は同じです。 | ![]() |
Discussion