Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Could someone give me the M code or DAX formula to achieve the result in column Rank? Many thanks!
Type Date Rank
Type A 01/01/17 1
Type A 01/02/17 2
Type A 01/03/17 3
Type B 01/01/18 1
Type B 01/02/18 2
Type B 01/03/18 3
Type B 01/04/18 4
Solved! Go to Solution.
@Anonymous
As a calculated column..you can use
Column = RANKX ( FILTER ( Primary_ID, [Type] = EARLIER ( [Type] ) ), [Date], , ASC, DENSE )
@Anonymous
Create a new Column and Measure and add the folowing DAX code:
Rank = VAR d = Table[Date] VAR a = Table[Type] RETURN CALCULATE ( RANK.EQ ( d, Table[Date], ASC ), FILTER ( ALL ( 'Table' ), Table[Type] = a ) )
Thanks.
I've tried this..
=CALCULATE(RANK.EQ(Primary_ID[Date],Primary_ID[Date],ASC),FILTER(all(Primary_ID),Primary_ID[Type]=Primary_ID[Type]))
But get the error..
A single value for column 'Date' in table 'Primary_ID' cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result.
@Anonymous
You have to declare the variables outside the DAX formula and then call them inside (as shown on the formula sent).
They are immutabe that's why i used them.
If you try it as shown, you will see it works this way
@Anonymous
As a calculated column..you can use
Column = RANKX ( FILTER ( Primary_ID, [Type] = EARLIER ( [Type] ) ), [Date], , ASC, DENSE )
Perfect! That's the answer thanks!