はじめに
Power Queryで加工したデータをcsv形式でエクスポートしたいとき、
104万行(正確には1,048,576行)以内であれば、
「デスクトップ版ExcelのPower Queryで加工→Excelワークシートにテーブル出力→csvで保存」で対応可能である。
一方で、104万行を超える場合には、上記のやり方では対応できない。
この問題に対する主な解決策を以下にてまとめた。
解決策1:DAX Studioを利用する
DAX Studioに内蔵されているcsv出力機能を利用する。
以下記事にて、わかりやすくまとめられている。
解決策2:Power BI DesktopでPower QueryとRを併用する
Power BI Desktopでは、Power Query Editor内でRを利用することができる。
したがって、Rのcsv出力関数 write.table()
の利用によって、csv出力が可能である。
# 'dataset' はこのスクリプトの入力データを保持しています
write.table(dataset,"フォルダパス/ファイル名.csv", quote=T, row.names=F, col.names=T, sep=",", append=F)
補足
上記ブログのとおりに進めると、1列目にレコード番号が付与される。
もし必要ない場合は、以下記事を参考に row.names=FALSE
を追記すると良い。
解決策3:Power BI DesktopでPower QueryとPythonを併用する
Power BI Desktopでは、Power Query Editor内でPythonを利用することができる。
したがって、Pythonのcsv出力関数 to_csv()
の利用によって、csv出力が可能である。
# 'dataset' はこのスクリプトの入力データを保持しています
import pandas as pd
file = pd.DataFrame(dataset)
file.to_csv('フォルダパス/ファイル名.csv', index=False)
解決策同士の比較
処理速度
2つの異なるサンプルデータで検証したところ、処理速度の順位が逆転したので、現時点では結論不明。
判明でき次第追記する。
(個人的な推測では、データ量が多くなればなるほどPython・R(特にPython)が相対的に速くなるように思われる。)
難易度
Pythonは事前に環境構築(Pythonのインストールと、Pandas等のライブラリのインストール)が必要。
したがって、Pythonを含むプログラミング言語未経験者には少しハードルが高いと思われる。
(DAX StudioやRは、本記事のケースではインストールするだけで済む。)
結論
DAX Studioが最も使いはじめやすいと思われるので、
まずはDAX Studioで試してみて、処理速度に難があると判断した場合にRやPythonを試すのが良さそう。