webdevqa.jp.net

Power Query:グループ化された値を連結するにはどうすればよいですか?

次の表(下の画像を参照)がある場合、グループ化された結果を連結するグループ化されたクエリを作成するにはどうすればよいですか?

InputTable

この例では、LetterColumnでグループ化し、NumberColumnを連結します

したがって、望ましい結果は次のようになります。

ResultsTable

14
Giffyguy

テーブルがSourceで、NumberColumnに数値タイプがある場合、これは機能します。

= Table.Group(Source, {"LetterColumn"}, {{"Column", each Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ","), type text}})

_Table.Group_はグループ化操作を行い、LetterColumnの同じ値を持つすべての行で構成されるテーブルを作成します。 __[NumberColumn]_は、この新しいテーブルのNumberColumn列の値のリストを提供します。 _List.Transform_の部分は数値をテキスト値に変換し、_Text.Combine_はこれらの数値を結合し、各値をコンマで区切ります。

あなたも周りの引用符が必要な場合は、これを行うことができます:

= Table.Group(Source, {"LetterColumn"}, {{"Column", each """" & Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ",") & """", type text}})

_""""_は "文字を表し、&は2つのテキスト値を結合します。

GUIを使用して、次のように行うことができます。

  1. LetterColumnを選択してから、Transform/GroupBy: enter image description here

  2. 列の追加/カスタム列を選択: enter image description here

  3. 新しいAllData列の右上にある反対の矢印をクリックして、新しいAllData列から値を抽出します。

    enter image description hereenter image description here

  4. AllData列を削除します。

28
Marc Pincince