データソースが複数になることはよくあるし、日ごとのログをまとめて集計するときなど和結合することになる。
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。