Forum Discussion

mosam's avatar
mosam
Frequent Visitor
3 years ago
Solved

DAX Issue

ColorMeasure =
 VAR CurrentIndex = SELECTEDVALUE('Table 2'[Date])
 VAR CurrentCount = SELECTEDVALUE('Table 2'[Count])
 VAR PreviousCount =
    CALCULATE(
        MAXX('Table 2', 'Table 2'[Count]),
        FILTER('Table 2', 'Table 2'[Date] = CurrentIndex - 1))
RETURN IF(CurrentCount > PreviousCount, "Green", IF(CurrentCount < PreviousCount, "Red", "Default"))

How to rewrite the above dax code in order to iterate over rows.
  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi  mosam ,

     

    You can use the following DAX:

     

    ColorMeasure =
    VAR CurrentIndex =
        SELECTEDVALUE ( 'Table 2'[Date] )
    VAR CurrentCount =
        SELECTEDVALUE ( 'Table 2'[Count] )
    VAR PreviousCount =
        MAXX (
            FILTER ( ALL ( 'Table 2' ), 'Table 2'[Date] = CurrentIndex - 1 ),
            [Count]
        )
    RETURN
        SWITCH (
            TRUE (),
            CurrentCount > PreviousCount, "Green",
            CurrentCount < PreviousCount, "Red",
            "Default"
        )

     

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  mosam ,

     

    You can use the following DAX:

     

    ColorMeasure =
    VAR CurrentIndex =
        SELECTEDVALUE ( 'Table 2'[Date] )
    VAR CurrentCount =
        SELECTEDVALUE ( 'Table 2'[Count] )
    VAR PreviousCount =
        MAXX (
            FILTER ( ALL ( 'Table 2' ), 'Table 2'[Date] = CurrentIndex - 1 ),
            [Count]
        )
    RETURN
        SWITCH (
            TRUE (),
            CurrentCount > PreviousCount, "Green",
            CurrentCount < PreviousCount, "Red",
            "Default"
        )

     

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.