Forum Discussion
Matrix: Variance blank fields
Hi Everyone,
I created the below matrix but I need help to create an optimal variance between Plan and Actual.
Right now I made the following DAX formula to measure Var:
This formula works fine but I want the yellow fields to be 0 instead of BLANK. 17-July and after needs to be blank as illustrated 🙂
Thank you
Hi Anonymous ,
Modify your measure as below:
If(MAX[date]>=TODAY(),BLANK(),if(isblank([Plan]);0;CALCULATE([Actual] - [Plan])))Best Regards,
KellyDid I answer your question? Mark my post as a solution!
6 Replies
- amitchandakSuper User
Anonymous , You can try.
Var = IF(isblank([Actual]) ;blank();if(isblank([Plan]);0;CALCULATE([Actual] - [Plan])))
- mahoneypatMicrosoft Employee
Assuming your matrix is using columns from your Date/Calendar table, you might approach it like this:
NewMeasure = VAR thisdate = MIN ( 'Date'[Date] ) VAR maxfactdate = CALCULATE ( MAX ( Fact[Date] ), ALL ( Fact ) ) VAR thisactual = [Actual] RETURN IF ( AND ( ISBLANK ( thisactual ), thisdate <= maxfactdate ), 0, thisactual - [Plan] )It finds the max date for which you have data (maxfactdate) and uses that in the logic. It also calculates your Actual as a variable, so it is calculated only once for performance reasons.
If this works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat
- v-kelly-msftCommunity Support
Hi Anonymous ,
Try :
if(isblank([Plan]);0;CALCULATE([Actual] - [Plan]))
Best Regards,
KellyDid I answer your question? Mark my post as a solution!- AnonymousNot applicable
v-kelly-msft mahoneypat amitchandak Thank you reply. I don't want zeros after today. So 21 July and after should be blank. All of your solutions include zeros after today 🙂
- mahoneypatMicrosoft Employee
Please try this instead.
NewMeasure = VAR thisdate = MIN ( 'Date'[Date] ) VAR maxfactdate = CALCULATE ( MAX ( Fact[Date] ), ALL ( Fact ) ) RETURN IF ( thisdate <= maxfactdate , [Actual] - [Plan] + 0, [Actual] - [Plan] )If that doesn't work, please return just the thisdate and maxfactdate variables in the return to see where the logic is breaking down for troubleshooting.
If this works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat