Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hi
I have the following (incomplete) DAX code shown in (1) in the screen-shot below).
= Table.AddColumn(#"Renamed Columns", "SectionNumber", each if [HorseName] = [HorseNameNext] then [IndexOne] else 1)
What I want to happen is that each time (2 in the screen-shot below) and (3 in the screen-shot below) differ, for the index shown in (4 in the screen-shot below) to be reset to 1 and then incremented by 1 in each row thereafter until the next miss-match between (2) and (3).
Any assitance will be greatly appreciated.
Thanks, Mark.
Solved! Go to Solution.
First: your screen shot is clearly from the query editor, so it's not DAX, but Power Query (a.k.a. M).
You can simply group by horsename, with operation "All Rows", next adjust the generated code to have an index added to each table for each group, and then expand the nested tables (excluding column "Horsename").
Generated/adjusted code as follows (I used just 1 column for "OtherColumns", next to HorseName):
let Source = Table1, #"Grouped Rows" = Table.Group(Source, {"HorseName"}, {{"AllData", each Table.AddIndexColumn(_,"SectionNumber",1,1), type table}}), #"Expanded AllData" = Table.ExpandTableColumn(#"Grouped Rows", "AllData", {"OtherColumns", "SectionNumber"}, {"OtherColumns", "SectionNumber"}) in #"Expanded AllData"
First: your screen shot is clearly from the query editor, so it's not DAX, but Power Query (a.k.a. M).
You can simply group by horsename, with operation "All Rows", next adjust the generated code to have an index added to each table for each group, and then expand the nested tables (excluding column "Horsename").
Generated/adjusted code as follows (I used just 1 column for "OtherColumns", next to HorseName):
let Source = Table1, #"Grouped Rows" = Table.Group(Source, {"HorseName"}, {{"AllData", each Table.AddIndexColumn(_,"SectionNumber",1,1), type table}}), #"Expanded AllData" = Table.ExpandTableColumn(#"Grouped Rows", "AllData", {"OtherColumns", "SectionNumber"}, {"OtherColumns", "SectionNumber"}) in #"Expanded AllData"
Thanks, This helped me when I was trying to manipulate a dataset.
To add a little more for anyone else that might come across this, you have to manually edit the M code either in Advanced Editor, or the 'formula bar'. You can't "just" use the buttons at the top of Power BI
You'll need to manually type in the new Index column you generated. When you try to "expand" the column via the tool bar it will not give you access to the new Index column you created.
Thanks Marcel
Hi Marcel
Thank you very much for your solution.
I'm finally starting to get my head around how to transform data.
Your solution was a great learning experience.
Thanks and best regards, Mark.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
81 | |
76 | |
61 | |
37 | |
33 |
User | Count |
---|---|
99 | |
56 | |
50 | |
42 | |
40 |