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 trying to display a conditional value in a matrix according to the column.
I made a small example. You can find the file here : https://drive.google.com/file/d/13pp0m-LjFgYZIWyEXAm49tP-BtnQnkyf/view?usp=sharing
The file has 4 tables :
Each invoice and prevision are related to a project.
Each invoice and prevision are related to the date table.
Each month, we want to analyse the last month and discuss about the previsions of each project.
For that, we have a parameter called "Cut off date" which is the separation between the past and the future.
I made a matrix table where i want to display one line per project with as value :
To do that I used the following DAX :
invoice_or_prevision = CALCULATE(
IF(
FIRSTNONBLANK('date'[before_cut_off_date], TRUE()),
SUM(invoice[amount]),
SUM(prevision[amount])
)
)
It works for each month column but not for the total (and it's logical)
Any idea of how I can achieve this ?
Thanks,
Vincent
Solved! Go to Solution.
Hi @vincentjdc
I have corrected the measure. Please check it in the new pbix.
invoice_or_prevision 2 =
VAR _maxDate = [max_date]
RETURN
IF (
ISINSCOPE ( 'date'[Month] ),
IF (
MAX ( 'date'[Date] ) < _maxDate,
SUM ( invoice[amount] ),
SUM ( prevision[amount] )
),
CALCULATE ( SUM ( invoice[amount] ), ALLSELECTED ( 'date'[Date] ), 'date'[Date] < _maxDate )
+ CALCULATE ( SUM ( prevision[amount] ), ALLSELECTED ( 'date'[Date] ), 'date'[Date] >= _maxDate )
)
Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.
Thanks for your anwser 🙂
I just needed to change it a little bit for my real file :
The final code (for my case) :
invoice_or_prevision 2 =
VAR _maxDate = [max_date]
RETURN
IF (
ISINSCOPE ( 'date'[Date].[Mois] ),
IF (
MAX ( 'date'[Date] ) < _maxDate,
SUM ( invoice[amount] ),
SUM ( prevision[amount] )
),
CALCULATE ( SUM ( invoice[amount] ), ALLSELECTED ( 'date'[Date] ), 'date'[Date] < _maxDate )
+ CALCULATE ( SUM ( prevision[amount] ), ALLSELECTED ( 'date'[Date] ), 'date'[Date] >= _maxDate )
)
Thanks a lot !
Hi @vincentjdc
Not sure if I understand your expected output correctly. I made several changes in your example file and get the following result. Is this what you want?
Main changes are:
1. Expand the range of Date table;
2. Create a new "invoice_or_prevision 2" measure;
3. Create a color measure for conditional formatting.
Let me know if this doesn't meet your requirement. I have attached the file at bottom.
Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.
Hi, @v-jingzhang ,
Thanks for your reply 🙂
But, it is not 100% correct. There is still a problem with the totals :
The total displayed is not correct : the sum of the first 3 columns are greater than 720k.
In fact, the displayed total is the total of the previsions, not the total of the invoices until the "cut off date" + the total of the previsions from the "cut off date".
I think this is because the condition in "invoice_or_prevision" (yours or mine) measure is called for all the months at same time (and not per month)
Thank you,
Best regards,
Hi @vincentjdc
I have corrected the measure. Please check it in the new pbix.
invoice_or_prevision 2 =
VAR _maxDate = [max_date]
RETURN
IF (
ISINSCOPE ( 'date'[Month] ),
IF (
MAX ( 'date'[Date] ) < _maxDate,
SUM ( invoice[amount] ),
SUM ( prevision[amount] )
),
CALCULATE ( SUM ( invoice[amount] ), ALLSELECTED ( 'date'[Date] ), 'date'[Date] < _maxDate )
+ CALCULATE ( SUM ( prevision[amount] ), ALLSELECTED ( 'date'[Date] ), 'date'[Date] >= _maxDate )
)
Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.
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 |
---|---|
91 | |
87 | |
84 | |
68 | |
49 |
User | Count |
---|---|
131 | |
111 | |
96 | |
70 | |
67 |