ローカルドライブ上のCSVファイルをPower Queryで読み込むときは「テキストまたはCSVから」というコネクタが用意されていますが、Google ドライブ上に保存したCSVファイルを読み込む場合はどうすればよいか説明します。
ちなみに OneDrive の場合は、公式ヘルプにやり方が説明されています。
https://docs.microsoft.com/ja-jp/power-bi/desktop-use-onedrive-business-links
方法
「データを取得」で「Web」コネクタを選択し、先ほどコピーしたリンクを貼り付けます。
URLのhttps://drive.google.com/open?id=xxxx
の/open
を/uc
に書き換えて「OK」を押します。https://drive.google.com/uc?id=xxxx
というようなURLになります。
普通のCSVコネクタと同じようなダイアログが開きます。あとはCSVコネクタと同じです。
Power Query コード
コードはこんな感じになります。
let
ソース = Csv.Document(Web.Contents("https://drive.google.com/uc?id=xxxx"), ...),
昇格されたヘッダー数 = Table.PromoteHeaders(ソース, [PromoteAllScalars=true]),
...
まとめ
- Google ドライブのファイルのURLは
https://drive.google.com/uc?id=xxxx
- Webコネクタでバイナリを取ってきて、
Csv.Document()
関数に渡す。 - まだ試してはいないが、原理的にはCSVだけでなく、Excel、XML、JSONなど、バイナリ形式のものであれば何でも読み込めるはず。