2015/12/27

Power BI - 15 - Power Query テーブルの和結合

複数のクエリ結果のテーブルをひとつのテーブルに結合することについて。
データソースが複数になることはよくあるし、日ごとのログをまとめて集計するときなど和結合することになる。

Table.Combine(MSDN - Table.Combine)
Table.Combine(tables as list) as table
引数 'tables' は list なので、Table.Combine({table1, table2, ...}) という記述になる。
また、連結演算子(&) で和結合、table1 & table2 & ... でもよい。
let
    Table1 = #table(type table [F01 = text, F02 = Int64.Type], {{"a", 10}, {"b", 20}}),
    Table2 = #table(type table [F01 = text, F02 = text], {{"c", "30"}, {"d", "40"}}),
    Table3 = #table(type table [F01 = text, f02 = Int64.Type], {{"e", 50}, {"f", 60}}),
    Table4 = #table(type table [F01 = text, F03 = Int64.Type], {{"g", 70}, {"h", 80}})
in
    Table.Combine({Table1, Table2, Table3, Table4})
//    Table1 & Table2 & Table3 & Table4
であるとき、
データ型が異なってもカラム名に従い結合される。データ型の変換は別途必要なことがありえる。
カラム名はいわゆる Case-Sensitive。ただし、Power Query 上だけ。ロードしたときにエラーになるがロード先が Excel テーブルの場合はナンバリングが追加されるのでエラーにはならない。
結合されるテーブルすべてのカラムが追加されるが、値が存在しないレコードでの フィールドの値は null。

0 件のコメント: