Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Is most recent date

I have a table that has a list of countries, date and value. This table is updated every month with the added new value for countries by month. Every country reports values aty different times and for different months. For example Here ar my most recent values and months

 

County     Date                Value

US            March 2021    1.15

NZ           May 2021       2.3

AU           April 2021      5.4

 

I am trying to add a column so I can filter "ismostrecetdate" for each Country as the dates are always different. I entered the below but then I only receive "yes" for NZ as it has the latest date.

 

IsMostRecentdate = var currentrowdate = FORMAT('United_States,_New_Zealand_and_'[Date], "mm/dd/yyy") var ismostrecentdate = FORMAT(MAX('United_States,_New_Zealand_and_'[Date]), "mm/dd/yyy") return IF(ismostrecentdate = currentrowdate, "yes", "no")
 

Can anyone hlep? The purpose of this is so I can add smart text and values in a text box that automatically update data based off the most recent date of the country I am writing about 

 

  • When you take the MAX, it's calculating the maximum over the whole table instead of just for the current country.

     

    You can fix this using ALLEXCEPT to preserve the country row context:

    IsMostRecentdate =
    VAR currentrowdate =
        FORMAT ( 'United_States,_New_Zealand_and_'[Date], "mm/dd/yyy" )
    VAR ismostrecentdate =
        FORMAT (
            CALCULATE (
                MAX ( 'United_States,_New_Zealand_and_'[Date] ),
                ALLEXCEPT (
                    'United_States,_New_Zealand_and_',
                    'United_States,_New_Zealand_and_'[County]
                )
            ),
            "mm/dd/yyy"
        )
    RETURN
        IF ( ismostrecentdate = currentrowdate, "yes", "no" )

     

2 Replies

  • When you take the MAX, it's calculating the maximum over the whole table instead of just for the current country.

     

    You can fix this using ALLEXCEPT to preserve the country row context:

    IsMostRecentdate =
    VAR currentrowdate =
        FORMAT ( 'United_States,_New_Zealand_and_'[Date], "mm/dd/yyy" )
    VAR ismostrecentdate =
        FORMAT (
            CALCULATE (
                MAX ( 'United_States,_New_Zealand_and_'[Date] ),
                ALLEXCEPT (
                    'United_States,_New_Zealand_and_',
                    'United_States,_New_Zealand_and_'[County]
                )
            ),
            "mm/dd/yyy"
        )
    RETURN
        IF ( ismostrecentdate = currentrowdate, "yes", "no" )