Forum Discussion

jerryr125's avatar
jerryr125
Helper IV
1 year ago
Solved

Use the most recent values based upon a date

Hi - I am looking to create a measure to do the following:

 

1. Obtain the most recent values based upon the most recent date (if the Actual column is not null).

2. Upon obtaining the most recent values, perform a calculation.

 

Example Table:

TABLE1234

 

DateActualTarget
2025-0156
2025-0238
2025-03810
2025-04 12
2025-05 15
2025-06 17

 

The result would be for the Date containing the most recent 'Actual Value'

Therefore the measure would use 2025-03

 

Actual = 8

Target = 10

 

Once the two values are known, then divide the Actual / Target.

 

Any thougths ? Jerry

 

  • lbendlin's avatar
    lbendlin
    1 year ago
    Measure = 
    var a = TOPN(1,Filter(ALLSELECTED(Table1234),[Actual]<>BLANK(),[Date],DESC)
    return divide(sumx(a,[Actual]),sumx(a,[Target]))

4 Replies

  • Like this ?

     

    Measure = 
    var d = max(Table1234[Date])
    var a = TOPN(1,Filter(ALLSELECTED(Table1234),[Actual]<>BLANK() && [Date]<=d),[Date],DESC)
    return divide(sumx(a,[Actual]),sumx(a,[Target]))
    • jerryr125's avatar
      jerryr125
      Helper IV

      Hi lbendlin  - I appreciate your assistance - thank you.

      Almost there - since I am using this in a Card I get an error 'The end of the output was reached'

      I only need the one value - this case - the 80%.

       

      any thoughts ? Jerry

      • lbendlin's avatar
        lbendlin
        Super User
        Measure = 
        var a = TOPN(1,Filter(ALLSELECTED(Table1234),[Actual]<>BLANK(),[Date],DESC)
        return divide(sumx(a,[Actual]),sumx(a,[Target]))