Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Max value with date

Hi,

 

I need to get the max value in a category with its corresponding date (preferably in DAX).

 

the example as follow

 

Table1
CityValueDate
RIY1010/9/2019
RIY2510/10/2019
RIY1110/11/2019
MKK810/10/2019
MKK910/9/2019

 

The result should be like this

 

Result
CityValueDate
RIY2510/10/2019
MKK910/9/2019

 

Thank You in advance for your help

  • RMB's avatar
    RMB
    7 years ago

    Thought it would be worth mentioning that the first answer will still have all the original values with an extra column identifying the highest for a product type without further work. I'm adding this in case a new table is wanted that only has those highest values and not the whole original table.

    First, add a calculated column to your table that creates the rank per city.

    Rank Column

    Rank = 
    RANKX (
        FILTER(
        'Table',
        'Table'[City] = EARLIER('Table'[City])
        ),
        'Table'[Value],
        ,
        DESC,
        DENSE
    )


    Now create a new table that selects only each city entry that was ranked 1.


    New table that only has cities that were ranked 1

    Table2 = 
    SELECTCOLUMNS(
        FILTER( 'Table', 'Table'[Rank] = 1),
        "City", 'Table'[City],
        "Value", 'Table'[Value],
        "Date", 'Table'[Date]
    )

    When you create your table visual now from the values on the new table you will only have the ranked 1st entries.
    Comparsion

3 Replies

    • RMB's avatar
      RMB
      Icon for Resolver II rankResolver II

      Thought it would be worth mentioning that the first answer will still have all the original values with an extra column identifying the highest for a product type without further work. I'm adding this in case a new table is wanted that only has those highest values and not the whole original table.

      First, add a calculated column to your table that creates the rank per city.

      Rank Column

      Rank = 
      RANKX (
          FILTER(
          'Table',
          'Table'[City] = EARLIER('Table'[City])
          ),
          'Table'[Value],
          ,
          DESC,
          DENSE
      )


      Now create a new table that selects only each city entry that was ranked 1.


      New table that only has cities that were ranked 1

      Table2 = 
      SELECTCOLUMNS(
          FILTER( 'Table', 'Table'[Rank] = 1),
          "City", 'Table'[City],
          "Value", 'Table'[Value],
          "Date", 'Table'[Date]
      )

      When you create your table visual now from the values on the new table you will only have the ranked 1st entries.
      Comparsion

      • Anonymous's avatar
        Anonymous
        Not applicable

        Thank you so much, it did the trick for me.