Slide 1

Slide 1 text

複数のエクセルブックの データをまとめてみよう ヘルパークエリを手作り 2022/02/19 PBIJP Power Query 秘密特訓「虎の穴」炎の復活編 #11

Slide 2

Slide 2 text

対象は以下のようなエクセルファイル 文部科学省の学校基本調査のデータをe-Statからダウンロードして使っていきます。

Slide 3

Slide 3 text

目標は以下のようなデータテーブル

Slide 4

Slide 4 text

1.フォルダーパスをパラメータに設定

Slide 5

Slide 5 text

2. フォルダー内のファイルを表示

Slide 6

Slide 6 text

3. サンプルファイルを作成

Slide 7

Slide 7 text

4. サンプルファイルへの パラメータを作成 バイナリを指定

Slide 8

Slide 8 text

5.サンプルファイルの変換クエリ作成 Parameter1976 →パラメータで入力ファイルを指定 {0} → ここでは、データの入っているシートは1番目のものを指定 [Data] → Data(シート内のデータ)とName(シート名)の2つの項目のうちDataを指定

Slide 9

Slide 9 text

6.変換作業を記述していく 注意点 シート名は変更されやすいので、 シート名を使って開かないこと。 できるだけ汎用性が高い書き方がよい。

Slide 10

Slide 10 text

7.関数の作成 サンプルファイルも 新しくできたグループの中に移動

Slide 11

Slide 11 text

関数の中身は、 元のクエリの前後に引数を使うよう 変更されただけ。 元のクエリを修正すると 関数も連動して変更されます。 関数の中身を直接変更しようとすると 以下のメッセージが表示されます。

Slide 12

Slide 12 text

8.各ファイルに関数を使ってみる Table.TransformColumnsで 作成した関数を適用すると、 1976.xlsは変換できているが、 それ以外はエラーとなってしまった。

Slide 13

Slide 13 text

9.別の関数を作成 +エラーとなったファイルを変換するため、新しい関数を作成 します。 +3~7を行います。

Slide 14

Slide 14 text

10.再度関数を当ててみる まだ1つエラーになってます。

Slide 15

Slide 15 text

11.3つ目の関数を作成して当ててみる 5つのファイルが変換できました。

Slide 16

Slide 16 text

12.テーブルを結合させて完成!

Slide 17

Slide 17 text

注意点 +今回は、作成した関数が正常化エラーかで判断しています。 +エラーにならないけど正常値を返さないパターンもあると思 います。 +その場合は、どちらでも正常値になるようにクエリ内の処理 を追加するか、エラーをわざと発生させるかの対応が必要に なります。