Forum Discussion

patrick3's avatar
patrick3
Helper II
6 years ago

Return value based on Date / Key pair

Hi all,

 

I've got 2 tables:

 

DateUnique KeyValue
01/01/2019abc1235
01/02/2019abc12310
01/01/2019abc4565
01/02/2019abc45610

 

DateUnique KeyValue
05/01/2019abc1235
05/02/2019abc12310
10/02/2019abc12310
15/02/2019abc4565

 

In the 2nd table, it'd like to return the value of the 1st table, based on the newest matching date.
So for "abc123", any date between 01/01/2019 & 31/01/2019 (the day before the next date in table 1) it should return 5.

 

Hope that makes sense,

Patrick

5 Replies

  • az38's avatar
    az38
    Community Champion

    hi patrick3 

    why for abc456 in table 2 returns 5, not 10 (newest in table 1 that older then abc456)?

     

    do not hesitate to give a kudo to useful posts and mark solutions as solution

      • az38's avatar
        az38
        Community Champion

        patrick3 

        try a measure in table2

        Value = 
        var _maxDate = CALCULATE(MAX('Table1'[Date]);FILTER(ALL(Table1);Table1[Unique Key]=SELECTEDVALUE(Table2[Unique Key]) && Table1[Date]<SELECTEDVALUE(Table2[Date])))
        RETURN
        calculate(MAX('Table1'[Value]);FILTER(ALL(Table1);Table1[Date]=_maxDate && Table1[Unique Key]=SELECTEDVALUE(Table2[Unique Key])))

         

        do not hesitate to give a kudo to useful posts and mark solutions as solution