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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Fabric Monthly Update - May 2024

Check out the May 2024 Fabric update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.