たとえば、フォルダ内の複数ファイルを連結したり
たどえば、フォルダ内の一番新しいファイルを読み取るようにしたり…
かなり利用頻度は高いのですが、
◆取り込みたいフォルダを選んで(必要なら読みたいファイルだけを絞り込んで)
◆(Excelの時のみ)読み込みたいシートを選ぶと…
##ヘルパークエリめっちゃできるやん!
データは結合できるんですが、インポートするファイルの種類ごとにどんどんヘルパークエリが(しかも3つも!)生成されてしまって処理が分かりにくくなってしまうのが不満でした。
何種類か元データを使いたいときって、ヘルパークエリばっかりどんどん増えちゃうし。
(Excelって、複数シートにデータが入ってて、それぞれくっつけたかったりするので)
M関数で回避するよ(Excel版)
2.列の追加タブからカスタム列を追加を選択し、以下の式を入力
Excel.Workbook([Content],true){[Item="Sheet1",Kind="Sheet"]}[Data]
-Item=”Sheet1”部分:読み込む任意のシート名を記載
‐Excel.Workbook([Content],true):データ範囲の1行目をタイトルとして扱う場合
Excel.Workbook([Content]):データ範囲の1行目からデータとして扱う場合
3.ファイルのプロパティ部分を、いる列だけにする
※今回はファイル名だけ残してみましたが、最終更新日時なんかを残すのも利用用途が多そうです。
#CSVの場合
2.の部分の式をこちらにさしかえる
Table.PromoteHeaders(Csv.Document([Content])
なお、上の式は1行目がヘッダーの場合。
1行目からデータとして扱いたい場合はPromoteHeadersの文が不要なので以下の式になる
Csv.Document([Content]