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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Calculating a constant for the current filter context

Hi all,

 

I'm currently trying to make a measure that does a calculation for the last date of the current filter context (so for example, if we don't filter the calendar, it'll apply them to today's date, but if we choose Feb. 2021 for example, it'll calculate them for Feb 28th 2021)

 

 

Effectif:=

calculate([Calculation], filter(Sales,or(Sales[FlagActive]=1,max('Time'[idDay]) - Sales[idDayOfEntry] <4)))

 

 

However, that seems quite ineffective as it has to re-calculate the max(Time[idDay]) part for every iteration, whereas that's a constant for the current filter context.

 

Is there a way to calculate that whenever we change filter context, and just use it as a constant when we need it ?

 

Nossair

1 ACCEPTED SOLUTION

I don't think it is possible. It has no way to know that the filter context for date is going to be the same in every cell of a matrix or table visual, so it has to recalculate each time I think.

View solution in original post

3 REPLIES 3
johnt75
Super User
Super User

You can use a variable

Effectif :=
VAR maxDate =
    MAX ( 'Time'[idDay] )
RETURN
    CALCULATE (
        [Calculation],
        FILTER (
            Sales,
            OR ( Sales[FlagActive] = 1, maxDate - Sales[idDayOfEntry] < 4 )
        )
    )
Anonymous
Not applicable

Hi  @johnt75 ,

 

Thanks for your response. 

That doesn't seem to improve the performance, I think that's because that will still calculate the variable for every row that it calculates the measure for, whereas it'd be more optimal to calculate it once and then just use it as a constant without having to recalculate it. Do you have an idea if that is possible ?

I don't think it is possible. It has no way to know that the filter context for date is going to be the same in every cell of a matrix or table visual, so it has to recalculate each time I think.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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