Forum Discussion

Dicken's avatar
Dicken
Icon for Post Prodigy rankPost Prodigy
2 years ago
Solved

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

  • 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's avatar
      Dicken
      Icon for Post Prodigy rankPost 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's avatar
        Daniel29195
        Icon for Community Champion rankCommunity Champion

        Dicken Try this : 

         use distinct around  the table you are using in window functions 

         

        let me know if this works 

    • Dicken's avatar
      Dicken
      Icon for Post Prodigy rankPost 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's avatar
    Dicken
    Icon for Post Prodigy rankPost 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.