Forum Discussion
smore
4 years agoAdvocate I
Add rows to a table based on cell value
MajorGroup MinorGroup Sample 1 6 3 1 5 2 Above is an example of my data table to which I am trying to add the # of samples for each MajorGroup/MinorGroup as rows counting down to 1...
- 4 years ago
You can transform the Sample column (or add a new column) that creates a list {1,2,..,N} and then expand that list column to new rows.
Here's the full query I used:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTIDYmOlWB0IzxSIjZRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [MajorGroup = _t, MinorGroup = _t, Sample = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"MajorGroup", Int64.Type}, {"MinorGroup", Int64.Type}, {"Sample", Int64.Type}}), #"Number to list" = Table.TransformColumns(#"Changed Type", {{"Sample", each List.Reverse({1.._}), type list}}), #"Expanded Sample" = Table.ExpandListColumn(#"Number to list", "Sample") in #"Expanded Sample"
AlexisOlson
4 years agoSuper User
You can transform the Sample column (or add a new column) that creates a list {1,2,..,N} and then expand that list column to new rows.
Here's the full query I used:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTIDYmOlWB0IzxSIjZRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [MajorGroup = _t, MinorGroup = _t, Sample = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"MajorGroup", Int64.Type}, {"MinorGroup", Int64.Type}, {"Sample", Int64.Type}}),
#"Number to list" = Table.TransformColumns(#"Changed Type", {{"Sample", each List.Reverse({1.._}), type list}}),
#"Expanded Sample" = Table.ExpandListColumn(#"Number to list", "Sample")
in
#"Expanded Sample"- smore4 years agoAdvocate I
Thanks so much for the help! This worked perfectly. 👍