Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
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
Solved! Go to 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.
You can use a variable
Effectif :=
VAR maxDate =
MAX ( 'Time'[idDay] )
RETURN
CALCULATE (
[Calculation],
FILTER (
Sales,
OR ( Sales[FlagActive] = 1, maxDate - Sales[idDayOfEntry] < 4 )
)
)
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.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
86 | |
82 | |
70 | |
49 |
User | Count |
---|---|
143 | |
123 | |
107 | |
61 | |
55 |