Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
FredLEGUEN
Helper III
Helper III

Issue with cumulative measure and relative date filter

Hi everyone,

 

I have 2 measures that calculate the cumulative sum of the opened tickets. When I used these measures with a visual, the result isn't correct and I don't know how to solve it.

 

First measure

Cumulative Open Tickets =
    VAR _lastDate = CALCULATE(MAX(DimDate[Date]),'Work Items')
    RETURN
        CALCULATE(
            [Outstanding Tickets],
            FILTER(
                ALL(DimDate[Date]),
                DimDate[Date] <= MAX(DimDate[Date])
                ),
            DimDate[Date] <= _lastDate
        )

 

Here, the result is always correct even when I apply a relative date filter but when there is no modification for a specific month, the measure returns nothing (not good)

Cumulative 12 months.PNGCumulative 15 months.PNG

 

Here is the second measure

Cumul Open Tickets =
    VAR _lastDate = MAX(DimDate[Date])
    RETURN
        CALCULATE(
            [Outstanding Tickets],
            FILTER(
                ALLSELECTED(DimDate[Date]),
                DimDate[Date] <= _lastDate
            )
        )

Here, the measure returns always a result, even when there is no modification (very good, that's what I want) but when I apply a filter with a relative date, the result changes because the measure restarts the calculation from the first virtual month

Cumul 15 months.PNGCumul 12 months.PNG

As you see, the number of opened tickets is different according to the number of month. And that's not good because it doesn't reflect the reality. And this problem doesn't exist with the first measure.

What can I do to avoid the blank when there is no new event on the tickets and keep the real number of opened ticket (and not the number on the selected period)

Thanks

1 ACCEPTED SOLUTION

I think the problem is the 'Work Items' filter being passed to MAX. Try

Cumulative Open Tickets =
VAR _lastDate = MAX ( DimDate[Date] )
RETURN
    CALCULATE (
        [Outstanding Tickets],
        REMOVEFILTERS ( DimDate ),
        DimDate[Date] <= _lastDate
    )

View solution in original post

6 REPLIES 6
johnt75
Super User
Super User

Try

Cumulative Open Tickets =
VAR _lastDate =
    CALCULATE ( MAX ( DimDate[Date] ), 'Work Items' )
RETURN
    CALCULATE (
        [Outstanding Tickets],
        REMOVEFILTERS ( DimDate ),
        DimDate[Date] <= _lastDate
    )

Hi @johnt75 

 

No, with REMOVEFILTER the result is the same

I think the problem is the 'Work Items' filter being passed to MAX. Try

Cumulative Open Tickets =
VAR _lastDate = MAX ( DimDate[Date] )
RETURN
    CALCULATE (
        [Outstanding Tickets],
        REMOVEFILTERS ( DimDate ),
        DimDate[Date] <= _lastDate
    )

Very good @johnt75 

Your DAX formula return the cumulative sum even if I apply a relative date 👍👏

But that blow my mind .....

Why

MAX ( DimDate[Date] ) 

and 

CALCULATE ( MAX ( DimDate[Date] ), 'Work Items' )

has an impact on the final result?

If you can help me to understand

When using the Work Items table as a filter, only dates which appear in that table will be added to the filter context. So any dates which don't appear in Work Items will effectively be discarded from the Date table before running the MAX calculation. Combining this with having the months on the x-axis means that for a month where no dates exist in Work Items MAX(Date[Date]) will return blank, and so the rest of the calculation will also return blank.

Ok, very clear. Thanks for the explanations

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.