Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowGet certified as a Fabric Data Engineer: Check your eligibility for a 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700. Get started
Hi all,
Please review below data model.
Based on this model I have created the following measures.
NumOfSickCasesReported = COUNTROWS ( SickCases )
NumOfSickCasesOpen = CALCULATE ( [NumOfSickCasesReported], FILTER ( ALL ( SickCases[RecoveryDate] ), SickCases[RecoveryDate] > MAX ( Calendar12M[Date] ) ) )
RTOfSickCasesOpen = CALCULATE ( [NumOfSickCasesOpen], FILTER ( ALL( Calendar12M[Date] ), Calendar12M[Date] <= MAX ( Calendar12M[Date] ) ) )
The RTOfSickCasesOpen measure gives me exactly what I need, a running total number of sick cases open per reporting date, regardless of when the first sick day occurred. Both other measure are just intermediate measures I'm not going to need when creating the dashboard.
A cleaner option would be to create just one measure RTOfSickCasesOpen, with the other intermediate measures as variables.
RTOfSickCasesOpen = VAR NumOfSickCasesReported = COUNTROWS ( SickCases ) VAR NumOfSickCasesOpen = CALCULATE ( NumOfSickCasesReported, FILTER ( ALL ( SickCases[RecoveryDate] ), SickCases[RecoveryDate] > MAX ( Calendar12M[Date] ) ) ) VAR RTOfSickCasesOpen = CALCULATE ( NumOfSickCasesOpen, FILTER ( ALL( Calendar12M[Date] ), Calendar12M[Date] <= MAX ( Calendar12M[Date] ) ) ) RETURN RTOfSickCasesOpen
However, this cleaner version of RTOfSickCasesOpen doesn't seem to work as expected.
Can anyone tell me why this is the case?
Regards,
Erwin
Solved! Go to Solution.
Hi @Erwin ,
This as to do with with the context and filter transition within the calculates.
Check this blog post by @marcorusso .
Believe that you need to redo your measure having the variable within each calculate rather than putting it all before the syntax of the full calculation would be something like this:
RTOfSickCasesOpen = VAR NumOfSickCasesReported = COUNTROWS ( SickCases ) RETURN CALCULATE ( VAR NumOfSickCasesOpen = CALCULATE ( NumOfSickCasesReported, FILTER ( ALL ( SickCases[RecoveryDate] ), SickCases[RecoveryDate] > MAX ( Calendar12M[Date] ) ) ) RETURN NumOfSickCasesOpen, FILTER ( ALL ( Calendar12M[Date] ), Calendar12M[Date] <= MAX ( Calendar12M[Date] ) ) )
Don't have the data to match it but you need to place your VAR within the several measures and not all on top of the expected calculation.
@marcorusso can you please confirm/infirm my suggestion.
Regards,
MFelix
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @Erwin ,
This as to do with with the context and filter transition within the calculates.
Check this blog post by @marcorusso .
Believe that you need to redo your measure having the variable within each calculate rather than putting it all before the syntax of the full calculation would be something like this:
RTOfSickCasesOpen = VAR NumOfSickCasesReported = COUNTROWS ( SickCases ) RETURN CALCULATE ( VAR NumOfSickCasesOpen = CALCULATE ( NumOfSickCasesReported, FILTER ( ALL ( SickCases[RecoveryDate] ), SickCases[RecoveryDate] > MAX ( Calendar12M[Date] ) ) ) RETURN NumOfSickCasesOpen, FILTER ( ALL ( Calendar12M[Date] ), Calendar12M[Date] <= MAX ( Calendar12M[Date] ) ) )
Don't have the data to match it but you need to place your VAR within the several measures and not all on top of the expected calculation.
@marcorusso can you please confirm/infirm my suggestion.
Regards,
MFelix
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsMarch 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
User | Count |
---|---|
146 | |
72 | |
63 | |
52 | |
51 |
User | Count |
---|---|
208 | |
91 | |
62 | |
59 | |
56 |