Quantcast
Channel: なんでもエクセル(Nandemo Excel)
Viewing all articles
Browse latest Browse all 52

Power Query:要素数の異なる配列からテーブルを作る

$
0
0

個数の合わない配列(ジャグ配列)を、単純に1テーブルに変換しようとすると、エラーを起こしてしまいます。

文章で読んでもピンとこないかもしれませんが、例えば要素数が 10個の配列(例えば「{1..10}」)を 3分割した場合、最後の配列の要素数は 1つになりますね(「1,2,3」「4,5,6」「7」)。これを Table.FromRowsでテーブルに変換しようとすると、最終行はエラー表示になってしまいます。


let     ソース = {1..10},     テーブル分割 = List.Split(ソース, 3),     テーブル変換 = Table.FromRows(テーブル分割) in     テーブル変換

これを防ごうと、足りない部分を「null」で埋めて……とやってもいいんですが(私は最初、そうしようとしました)、List.Zipを使えばもっと簡単にエラーを回避できます。


let     ソース = {1..10},     テーブル分割 = List.Split(ソース, 3),     テーブル変換 = Table.FromColumns(List.Zip(テーブル分割)) in     テーブル変換

Microsoftの「List.Zip」のヘルプにも、ちゃんと「長さが異なるリスト(中略)を Zip 圧縮します」と書いてあります。ヘルプはよく読まないとダメですね。

learn.microsoft.com


Viewing all articles
Browse latest Browse all 52

Trending Articles