Forum Discussion
DAX index Function how to use?
Hi, I have not used index in dax pbi, but thouhgt I'd have a look, so created a date table ;
dDate =
ADDCOLUMNS(
CALENDAR( DATE( 2020,1,1), DATE( 2025,12,31) ) ,
"Year", YEAR([Date]),
"Month", FORMAT([Date],"MMM") ,
"ms", MONTH([Date]),
"FiscalQ", CEILING( MONTH( EDATE([Date],-3)),3) /3
)
and then decided to use index to bring back the top row, so in excel Index( Table, 1, 0 ) ,
Table = INDEX(1 , dDate, ORDERBY(dDate[Date]) )
but i get a message saying it may have duplicate rows, well it's a calendar so I don't think so,
Richard.
Dicken , I created a table with the same code, and it worked
In case of measure use
Maxx( INDEX(1 , dDate, ORDERBY(dDate[Date]) ), [Date])
Power BI Index function: Top/Bottom Performer by name and value- https://youtu.be/HPhzzCwe10U
Dicken Try this :
use distinct around the table you are using in window functions
let me know if this works
6 Replies
- amitchandak
Super User
Dicken , I created a table with the same code, and it worked
In case of measure use
Maxx( INDEX(1 , dDate, ORDERBY(dDate[Date]) ), [Date])
Power BI Index function: Top/Bottom Performer by name and value- https://youtu.be/HPhzzCwe10U
- Dicken
Post Prodigy
So does it return a table, as that's what I was using;
New Table,
Table = INDEX(1, dDate, ORDERBY(dDate[Date],ASC)out of interest I get the same message for window.
Table 2 = WINDOW( 1,ABS,1,ABS,dDate ) again I get duplicate error message,so still none the wiser as to how it works,
i thought I'd try a simpler date table ;
dDate = ADDCOLUMNS(CALENDAR( DATE( 2020,1,1), DATE(2020,12,31) ),"Year", YEAR([Date]),"Month", FORMAT([Date],"MMM"))and put this into studio, but get message, an item with the saem key has already been added?
Don't have these problems in power pivot.
Richard- Daniel29195
Community Champion
Dicken Try this :
use distinct around the table you are using in window functions
let me know if this works
- Dicken
Post Prodigy
Sorry, just to add did this in power pivot Dax studo, but this is what I would expect index to return,
a one row ( top ) table;EVALUATE FILTER( 'Calendar', 'Calendar'[Date] = DATE( 2020,1,1) )Richard.
- Dicken
Post Prodigy
no,
CALENDAR(DATE(2020,1,1), DATE(2020,12,31) ) , Then new table Table 2 = DISTINCT(WINDOW(1,ABS,1,ABS ,'Table') ) Erorr message WINDOW's Relation parameter may have duplicate rows. This is not allowed. But it will acceept Table = WINDOW(1,ABS,1,ABS, CALENDAR(DATE(2020,1,1), DATE(2020,12,31) ) )Richard.