Forum Discussion

Giada_Togliatti's avatar
Giada_Togliatti
Post Patron
6 years ago
Solved

Max function doesn't work

Hi, I have a database like this:     object time sales chairs 201606 14 chairs 201706 12 chairs 201806 18 table 201606 19 table 201706 24 table   201806 23 ...
  • AntrikshSharma's avatar
    AntrikshSharma
    6 years ago

    In that case use this construct.

     

    Measure =
    VAR MaxTime =
        MAX ( Table[time] )
    RETURN
        CALCULATE ( MAX ( Sales[Column] ), Table[time] = MaxTime, field4 = "F" )

     

    You can use multiple boolean operations in the same filter argument of CALCUALTE when the opeartion is over the same column for example the below works fine 

     

    Measure =
    VAR MaxTime =
        MAX ( Table[time] )
    RETURN
        CALCULATE ( MAX ( Sales[Column] ), Table[time] = MaxTime && Table[time] = "F" )

     

     becuase internally Table[time] = MaxTime && Table[time = "F" expands and becomes:

     

    FILTER ( ALL ( Table[time] ), Table[time] = MaxTime && Table[time] = "F" )

     

     But in case of multiple columns DAX engine is unable to figure out the way to create exisiting combination of Time and the other column, so in that case you can use this:

     

    Measure =
    VAR MaxTime =
        MAX ( Table[time] )
    RETURN
        CALCULATE (
            MAX ( Sales[Column] ),
            FILTER (
                ALL ( Table[time], Table[field4] ),
                Table[time] = MaxTime
                    && Table[field4] = "F"
            )
        )

     

    but I am assuming field4 and time are the columns of the same table, other wise separate them into 2 filters of CALCULATE as shown in the first example