PowerQuery: How can I concatenate grouped values?
Solution 1:
You can use the GUI to do it this way:
-
Select your LetterColumn and then Transform / GroupBy:
-
Select Add Column / Custom Column:
-
Click opposing arrows at top right of new Custom column to Extract Values from new Custom column:
- Remove AllData column.
Solution 2:
If your table is Source, and if NumberColumn has the number type, then this will work:
= Table.Group(Source, {"LetterColumn"}, {{"Column", each Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ","), type text}})
Table.Group
does a group by operation, which creates a table made up of all of the rows with the same value in LetterColumn. _[NumberColumn]
gives a list of the values in the NumberColumn column in this new table. The List.Transform
part turns the numbers into text values, and Text.Combine
joins those numbers together, with a comma separating each value.
If you need the surrounding quotes as well, you can do this:
= Table.Group(Source, {"LetterColumn"}, {{"Column", each """" & Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ",") & """", type text}})
""""
represents the " character, and & combines two text values.