なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

Power Query:型のリストやレコードから空テーブルを作成する

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
    空テーブル

こっちのほうが手順は少ない。