Forum Discussion
Create Index Column on Power Query based on 2 or 3 Columns
- 4 years ago
IN Power Query, first sort your data to make sure it's in a format similar to what you've shown.
Then do a 'Group BY' using the key columns (
Bill Customer ID Ship Customer ID Serial Number Bill+Ship+Serial ) - you might get away with the first 3 if it's enough to show correct groups -
with one aggregation on All rows called 'all'.
Then add a custom column with this:
Table.AddIndexColumn([all], "CountInd",1,1)This adds an index per Grouping.
You can then expand column headings to return the appropriate data.
A fair bit to get your head around but that should work.
- 4 years ago
Step 1
In Power Query, do...Group by : Bill+Ship+Serial
New Column Name : Table_1
Operation : All Raws
Step 2
Add Custom Column...
Table_2 = Table.AddIndexColumn([Table_1],"Index",1)
Step 3
Expand Table_2
That's it.
- 4 years ago
Infact, don't need that if data is sorted by Invoice number.
Paste this in advanced editor:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Invoice #", type text}, {"Invoice Date", type datetime}, {"Bill Customer ID", type text}, {"Ship Customer ID", type text}, {"Serial Number", type text}, {"Bill+Ship+Serial", type text}, {"Index", Int64.Type}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"Bill+Ship+Serial"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "IndexUse", each Table.AddIndexColumn([Count],"IndexNow",1)), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Expanded IndexUse" = Table.ExpandTableColumn(#"Removed Columns", "IndexUse", {"Invoice #", "Invoice Date", "Bill Customer ID", "Ship Customer ID", "Serial Number", "Bill+Ship+Serial", "Index", "IndexNow"}, {"Invoice #", "Invoice Date", "Bill Customer ID", "Ship Customer ID", "Serial Number", "Bill+Ship+Serial.1", "Index", "IndexNow"}) in #"Expanded IndexUse"Table1 is your sourcedata table name.
Hope it helps.
IN Power Query, first sort your data to make sure it's in a format similar to what you've shown.
Then do a 'Group BY' using the key columns (
| Bill Customer ID | Ship Customer ID | Serial Number | Bill+Ship+Serial |
) - you might get away with the first 3 if it's enough to show correct groups -
with one aggregation on All rows called 'all'.
Then add a custom column with this:
Table.AddIndexColumn([all], "CountInd",1,1)
This adds an index per Grouping.
You can then expand column headings to return the appropriate data.
A fair bit to get your head around but that should work.
- hamzashafiq4 years agoKudo Collector
Thanks HotChilli let me try this!