Forum Discussion

sharath123's avatar
sharath123
Icon for Helper I rankHelper I
4 years ago
Solved

Based on two column filter conditions , need calculated column DAX expression

Here we have Inspected dates as 26th Apr, 28th Apr, 3rd May, 4th May, 12th May, and 13th May (this is the latest date)
based on the vehicle number & latest date we need to get the max damage intensity value.

I have written dax expression as (calculated column)

max value of damage intensity = 
calculate(MAX(''Table1[damageIntensity]),ALLEXCEPT(Table1,Table1[Vehicle Number
]),KEEPFILTERS(LASTDATE(Table1[Inspected Date])))

But it is giving a different output 
like for 26th Apr

 

and for 28th Apr

for each different date, it is giving different max damage intensity values. but I need output as max damage intensity value for the latest date (i.e 13th may)

Irrespective of each date, we need the max damage intensity value on the latest date. i.e value 6.
please help me to write/update my DAX expression.




  • Hi sharath123 

    you can use

    max value of damage intensity =
    VAR VehicleTable =
        CALCULATETABLE ( Table1, ALLEXCEPT ( Table1, Table1[Vehicle Number] ) )
    VAR MaxDate =
        MAXX ( VehicleTable, Table1[Inspected Date] )
    RETURN
        MAXX (
            FILTER ( VehicleTable, Table1[Inspected Date] = MaxDate ),
            Table1[damageIntensity]
        )

2 Replies

  • tamerj1's avatar
    tamerj1
    Icon for Community Champion rankCommunity Champion

    Hi sharath123 

    you can use

    max value of damage intensity =
    VAR VehicleTable =
        CALCULATETABLE ( Table1, ALLEXCEPT ( Table1, Table1[Vehicle Number] ) )
    VAR MaxDate =
        MAXX ( VehicleTable, Table1[Inspected Date] )
    RETURN
        MAXX (
            FILTER ( VehicleTable, Table1[Inspected Date] = MaxDate ),
            Table1[damageIntensity]
        )
    • sharath123's avatar
      sharath123
      Icon for Helper I rankHelper I

       Thanks tamerj1 It worked for me. you have given a detailed DAX expression, Thanks once again.