List.Accumulateや List.Generateで初期値として「見出しが同じ空っぽのテーブル」が欲しい時がある。それの作り方。
空のテーブルを作る方法はいくつかある。基になるテーブルがあるなら、Table.FirstNで「0」行を指定しても作れるけど、今回はタイプリストやタイプレコードから作ってみる。まずはタイプリストから
TypeListから作る場合
let
型リスト = {
{"テキスト", type text},
{"日付", type date},
{"数値", type number}
},
空テーブル = Table.TransformColumnTypes(
#table(List.Zip(型リスト){0}, {}), 型リスト
)
in
空テーブル
「List.Zip(型リスト){0}」で見出し部分(今回なら「テキスト・日付・数値」)が取り出せる。型(Type)が欲しい場合は「List.Zip(型リスト){1}」で。
続いてはタイプレコードから空テーブルを作る。
TypeRecordから作る場合
let
型レコード = type [テキスト=text, 日付=date, 数値=number],
空テーブル = Table.FromRows({}, type table 型レコード)
in
空テーブル
こっちのほうが手順は少ない。