はじめに
- Power BIのクエリーでExcelファイルを読み込むことができますが、シートが複数ある場合、シートごとにクエリーが作成されてしまいます。
- 年度ごとにシートが分割している場合など、ひとつのクエリーでまとめて読み込めると便利です。
- ここでは、複数のExcelシートを結合してひとつのテーブルを作成するクエリーを作成します。
サンプルデータ
Temparature.xlsx
シート:2018
日付 | 気温(℃) |
---|---|
2018/1/1 | 8 |
2018/5/1 | 19 |
2018/8/1 | 29 |
シート:2019
日付 | 気温(℃) |
---|---|
2019/1/1 | 8 |
2019/5/1 | 18 |
2019/8/1 | 27 |
Excelファイルの読み込みとシートの結合
- Power BIメニュー 「データを取得」より、Excelを選択、Temparature.xlsxを開きます。
(ここでは、C:\temp\Temparature.xlsxとしています。) - ナビゲータ画面で、読み込むシートのうち一つだけ選択して、データの変換ボタンをクリックします。
- クエリーの設定でソースを選択、Excel.Workbook()の2つ目のパラメータ(useHeadders)をTrueに変更します。
(これにより、シートの1行目を列名として読み込みます。)
Power query | |
---|---|
変更前 | = Excel.Workbook(File.Contents("C:\temp\Temparature.xlsx"), null, true) |
変更後 | = Excel.Workbook(File.Contents("C:\temp\Temparature.xlsx"), true, true) |
- クエリーの設定でナビゲーションを選択し、Table.Combine()を用いて、複数シートを結合する処理に書き換えます。
Power query | |
---|---|
変更前 | = ソース{[Item="2018",Kind="Sheet"]}[Data] |
変更後 | = Table.Combine({ ソース{[Item="2018",Kind="Sheet"]}[Data],ソース{[Item="2019",Kind="Sheet"]}[Data] }) |
- 昇格されたヘッダ数のステップは不要のため、削除します。
- 必要に応じて、テーブル名を変更します。
参考
-
Power Query M formula language Excel.Workbook
https://docs.microsoft.com/en-us/powerquery-m/excel-workbook -
Power Query M formula language Table.Combine
https://docs.microsoft.com/en-us/powerquery-m/table-combine