より強力なデータ変換のために Power Query M リストを理解する

リスト型のデータは複数の値の一覧を一つの値として扱うデータ型です。学生のころ習ったベクトルと言えばわかりすいかもしれません。Power Queryのデータ変換プロセスでよく使用されます。
Power Query でのクエリの作成に慣れると、データ モデルに読み込まれたクエリの最終結果はほとんどがテーブル形式であることに気づくでしょう。
リスト は、中間ステップのデータ処理で役割を果たすデータ型です。
さらに、Power Query が提供するデータ処理関数には、リスト値を返す関数やリスト データを入力パラメーターとして持つ関数が多数含まれているため、リストの作成方法と操作方法を理解することが非常に重要であり、データをより迅速かつ効果的に変換するのに役立ちます。
まずはリストの作り方を見てみましょう。

リストを作成する
リストを手動で作成するには、要素を中括弧 「{}」 で囲み、カンマで区切ります。基本的なデータ型から複雑なデータ型までの任意のデータ型にすることができます。 リストに名前を割り当てるには、「= 」演算子を使用します。

リスト項目へのアクセス
リスト内の各要素には、0 から始まり徐々に増加する数値に対応する特定の位置があります。 次の構文を使用してリスト内の要素にアクセスできます。
list_name{element_position}
NumberList = {1, 2, 3}
NumberListFirst = NumberList{0} // 結果 1

: リストの範囲外の位置にアクセスすると、エラーが返されます。
または、次の組み込み関数を使用して要素を取得することもできます。
List.First リスト内の最初の項目を返します。
= List.First( { 1, 2, 3 } ) // 結果 1
List.Last リスト内の最後の項目を返します。
= List.Last( { 1, 2, 3 } ) // 結果 3
List.Select リストから、選択条件 に一致する値のリストを返します。
= List.Select( { 0, 1, 2, 3, 4, 5, 6 }, each _ <= 3) // 結果 {0, 1, 2, 3}

                 

値の削除
次の利用可能な関数のいくつかを使用して、リストから要素を削除する操作を実行できます。
List.RemoveNulls リスト 内で発生するすべての null 値を削除します。
List.RemoveNulls( { 1, null, 2, null, 3, 4, 5 } ) //結果 { 1, 2, 3, 4, 5 }
List.Distinct 重複が削除された、リスト内のすべての値を含むリストを返します。
List.Distinct( { "a", "b", "b" , "a"} ) // 結果 { "a", "b" }

値の追加
「& 」演算子を使用すると、2 つの文字列を 1 つに連結できます。または、List.Combine 関数 を使用しても同じ結果が得られます
{1, 2, 3} & {4, 5, 6} //結果 {1, 2, 3, 4, 5, 6}
List.Combine({{1, 2, 3}, {4, 5, 6}}) //結果 {1, 2, 3, 4, 5, 6}

値の変換
List.Transform 変換関数 をリスト に適用することによって、値の新しいリストを返します。
List.Transform( { 1, 2, 3 }, each _ + 1 ) // 結果 { 2, 3, 4 }

値を置換する
List.ReplaceValue 値 のリスト内で値を検索し、出現した値をそれぞれ置換値 に置き換えます。
List.ReplaceValue({"a", "B", "a", "a"}, "a", "A", Replacer.ReplaceText) //結果 {"A", "B", "A", "A"}

値の並べ替え
List.Sort 指定された省略可能な条件に従って、データのリストを並べ替えます。
List.Sort({5, 7, 3, 1}, Order.Ascending) // 結果 {1, 3, 5, 7}

以上が Power Query のリストを使った基本的な操作ですが、実際に利用できる関数の数は非常に豊富です。 データ変換の目的に応じて、適切な関数を選択します。
リスト関数の詳細については、次のリンクにある Microsoft の記事を参照してください。
https://learn.microsoft.com/ja-jp/powerquery-m/list-functions