Forum Discussion
Anonymous
6 years agoNot applicable
Sequence by multiple columns
I need to be able to sequence my data using the current sequence - but totaling the "QuantityToBuild" column by grouping by the "Component" Column.
So in otherwords I would need sequence 1 and 2 to be labeled as "1", Component "2128", and the QuantityToBuild "336". The go to sequence "2", Component "631", QuantityToBuild "224", and so on..
Here is my data currently as is:
| Sequence | ItemNumber | Component | QuantityToBuild | Date |
| 1 | 178 | 2128 | 224 | 5/11/2020 0:00 |
| 2 | 179 | 2128 | 112 | 5/11/2020 0:00 |
| 3 | 2270 | 631 | 224 | 5/11/2020 0:00 |
| 4 | 182 | 2128 | 56 | 5/11/2020 0:00 |
| 5 | 183 | 2128 | 56 | 5/11/2020 0:00 |
| 6 | 2271 | 631 | 224 | 5/11/2020 0:00 |
| 7 | 8485 | 8489 | 112 | 5/11/2020 0:00 |
| 8 | 8484 | 8489 | 504 | 5/11/2020 0:00 |
| 9 | 181 | 2128 | 168 | 5/11/2020 0:00 |
| 10 | 3108 | 924 | 90 | 5/11/2020 0:00 |
| 11 | 6413 | 9452 | 56 | 5/11/2020 0:00 |
| 12 | 3107 | 924 | 90 | 5/11/2020 0:00 |
| 13 | 6412 | 9452 | 56 | 5/11/2020 0:00 |
| 14 | 3109 | 924 | 30 | 5/11/2020 0:00 |
Here is how I would hope my data would look:
| Sequence | Component | QuantityToBuild | Date |
| 1 | 2128 | 336 | 5/11/2020 0:00 |
| 2 | 631 | 224 | 5/11/2020 0:00 |
| 3 | 2128 | 112 | 5/11/2020 0:00 |
| 4 | 631 | 224 | 5/11/2020 0:00 |
| 5 | 8489 | 616 | 5/11/2020 0:00 |
| 6 | 2128 | 168 | 5/11/2020 0:00 |
| 7 | 924 | 90 | 5/11/2020 0:00 |
| 8 | 9452 | 56 | 5/11/2020 0:00 |
| 9 | 924 | 90 | 5/11/2020 0:00 |
| 10 | 9452 | 56 | 5/11/2020 0:00 |
| 11 | 924 | 30 | 5/11/2020 0:00 |
2 Replies
- Greg_Deckler
Community Champion
Seems like you want to do a Group By on Component in Power Query. Then add a new Index column starting from 1.
- Greg_Deckler
Community Champion
Like this. Only thing I don't understand is the logic of when to group and when not to group.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("jZA9D8IgEIb/imE28e6AFhzVxcXE6NY4+MFgYls1dPDfez0S61BbFw6OJ8/xUhRqFx5NqM5BTdU6hnLTlKfw5MOyLu91FarI+21zrOI1vvb1orneLtxZHWNQh2mhkA+YO14JSQoZXu0McUZAMIE5gJAkpO9IROontWhy4JJpHHK2bXTUOW3WD1oB9TiYpdk4PjvntjPOpuKHArnEmA618MMqHodfv5S5fhLb/9EI7bWXR3r4QUoag218bywNxJcELM3HpTpJ6Q+pSVL/keo+6eEN", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"(blank)" = _t, #"(blank).1" = _t, #"(blank).2" = _t, #"(blank).3" = _t, #"(blank).4" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"(blank)", type text}, {"(blank).1", type text}, {"(blank).2", type text}, {"(blank).3", type text}, {"(blank).4", type text}}),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Sequence", Int64.Type}, {"ItemNumber", Int64.Type}, {"Component", Int64.Type}, {"QuantityToBuild", Int64.Type}, {"Date", type datetime}}),
#"Grouped Rows" = Table.Group(#"Changed Type1", {"Component"}, {{"QuantityToBuild", each List.Sum([QuantityToBuild]), type number}, {"Date", each List.Max([Date]), type datetime}}),
#"Added Index" = Table.AddIndexColumn(#"Grouped Rows", "Index", 1, 1)
in
#"Added Index"