
【Power Automate】CSVデータをSQLクエリで処理する方法
村瀬 俊昭
DX推進■概要
デスクトップ版Power Automate(以下、PAD)でCSVファイルから目的のデータを抽出する際、多くの場合はCSVファイルを読み込んだ後、Ifアクションなどを使った条件を設定し、抽出する方法が一般的です。しかし、SQLを使用することでフローを簡素化し、処理速度を向上させることができます。本コラムでは、その設定方法を紹介します。
■SQLを使用するための準備
①「Schema.ini」の作成
CSVファイル内のデータをSQLで抽出する際には「Schema.ini」という設定ファイルが必要です。データベースとして扱いたいCSVファイル内の項目を「Schema.ini」ファイル内で定義します。
日付,商品名,数量,売上 2024-01-01,もも,12,2400 2024-01-01,りんご,20,3000 2024-01-02,ぶどう,20,6000 2024-01-02,もも,1,200 |
図1:テストデータ(ファイル名:果物年間売上データ.csv)
[果物年間売上データ.csv] Format=CSVDelimited ColNameHeader=True MaxScanRow=0 Character=ANSI Col1=日付 Date Col2=商品名 Text Col3=数量 Long Col4=売上 Long |
図2:Schema.iniファイル記述例
図1は果物の年間売上データを想定したテストデータの先頭を表示しています。項目は日付、商品名、数量、売上の4種類の構成としています。
図2はテストデータに基づくSchema.iniファイルの設定で各行は以下の通りです。
表1:Schema.iniファイル設定項目一覧

6行目以降の項目名とデータ型の設定はCSVファイル内のデータから判断し、設定を行います。日付であればDate型、数値であればLong型というように任意に設定を行ってください。
②「Schema.ini」ファイルの保存場所
「Schema.ini」ファイルは対象のテストデータと同じフォルダ内に保存します。
③PADのアクションを設定
アクションペインの「データベース」カテゴリ内のアクションを使用します。
各アクションの順番と設定値は以下の通りです。
1「SQL接続を開く」
→データベース(今回だと果物年間売上データ.csv)と接続を行います。

図3:「SQL接続を開く」アクション設定例
接続文字列に以下を設定します。
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\work\コラム;Extended Properties=”text;HDR=Yes;FMT=Delimited”; |
図4:接続文字列設定例
図4内の「Source=」には「果物年間売上データ.csv」と「Schema.ini」ファイルが保存されたフォルダパスを指定します。
2「SQLステートメントの実行」
→①で接続したデータベースから任意で条件を指定し、データを抽出します。

図5:「SQLステートメントの実行」アクション設定例
SQLステートメントには必要な条件に応じてSQL文を設定します。
SELECT * FROM [果物年間売上データ.csv] |
図6: SQLステートメント設定例
図6は果物年間売上データ.csvからすべてデータを抽出するSQLステートメントとなります。
(SQL構文の詳細については割愛します。)
3「SQL接続を閉じる」
→データベースとの接続を閉じます。

図7:「SQL接続を閉じる」アクション設定例
1「SQL接続を開く」アクションで作成された変数(%SQLConnection%)を指定することで接続を閉じることができます。
■りんごの売上合計を算出してみる
SQLステートメントに条件を設定し、果物年間売上データ.csvからりんごの売上合計を算出してみます。
SELECT SUM([売上]) As [総売上] FROM [果物年間売上データ.csv] WHERE 商品名=’りんご’ |
図8: りんごの売上合計抽出のSQL設定例
このように、SQLステートメントの条件を変更するだけで算出が可能です。合計のほか平均、最大値及び最小値や日付ごとに算出することも可能です。
■アクション数を比較してみる
<SQLを使用する場合>

図9:SQLを使用した場合のアクション数(3)
<SQLを使用しない場合>

図10:SQLを使用しない場合のアクション数(7)
SQLを使用するとアクション数が半分以下になり、処理速度の向上が期待できます。
■まとめ
SQLを使用したデータの抽出方法を紹介させていただきました。PADではCSVファイルのほかにもExcel、Microsoft Office Access、MySQLなど様々なデータソースに対してSQLを使用できるため環境に応じた最適な手法を選択してください。
2025年3月10日
著者紹介
- DX推進支援部 ICT活用推進課
最新の投稿