Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Calculate 5th date from max date

Hello All,

 

I am trying to get the last fifth date from the max date in my table.

 

EmpIDDateDaytype

A21/10/2018WO
A22/10/2018AB
A23/10/2018AB
B24/10/2018AB
A25/10/2018AB
A26/10/2018AB
A27/10/2018WO
A28/10/2018WO
A29/10/2018AB
A30/10/2018AB
B21/10/2018WO
B22/10/2018AB
B23/10/2018AB
B24/10/2018AB
B25/10/2018AB
B26/10/2018AB
B27/10/2018WO
B28/10/2018WO
B29/10/2018AB
B31/10/2018AB

 

This is the data that iam working on.

 

And my query looks like this.

 

Last5thDate = CALCULATE(MAX(Table[Date]),
    FILTER(ALLEXCEPT(Table,Table[EmpID]),
        NOT(Table[Daytype]="WO" )))-4

But it gives me wrong output as 26/10/2018 for A and 27 for B

 

Can any one please help me out.

 

MohanV

 

 

  • new column = 
    var rankk = RANKX(FILTER('Table';EARLIER('Table'[EmpID])='Table'[EmpID]&&EARLIER('Table'[Daytype])='Table'[Daytype]);'Table'[Date];;DESC)
    var last5thDate = IF(rankk=5&&[Daytype]<>"WO";[Date];BLANK())
    return last5thDate

    try this

7 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    If I am reading your formula correctly, it looks like you want to find the 5th date from the MAX date that doesn't involve WO's, only AB's, is that correct?

      • Greg_Deckler's avatar
        Greg_Deckler
        Community Champion

        Anonymous - See if this works for you. Page 3 of the attached file (Table6). 

         

        Measure 3 = 
        VAR __emplID = MAX('Table6'[EmplID])
        VAR __table = FILTER('Table6',[EmplID]=__emplID && [Daytype]="AB")
        VAR __table1 = ADDCOLUMNS(__table,"__rank",RANKX(__table,[Date]))
        RETURN MAXX(FILTER(__table1,[__rank]=5),[Date])
  • new column = 
    var rankk = RANKX(FILTER('Table';EARLIER('Table'[EmpID])='Table'[EmpID]&&EARLIER('Table'[Daytype])='Table'[Daytype]);'Table'[Date];;DESC)
    var last5thDate = IF(rankk=5&&[Daytype]<>"WO";[Date];BLANK())
    return last5thDate

    try this