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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Anonymous
Not applicable

Measure total is different to row total

Hello,
 
I have a rather common problem but I cannot implement any solutions correctly to my fuction.
 
The function works correctly, showing the right rows and totals in a table I use to visualize. However, the total of the table or an info card is wildly different.
 
Part of the fuction that I assume is causing the problem, parameters in bold:
 
[Total Order Value for late rows] * 'Penalty per day/week'[Penalty % per day/week Value] *

SUMX('PO data'; IF('PO data'[Delay in weeks] < 'Max penalty weeks'[Max penalty weeks Value] *-1;
 
'Max penalty weeks'[Max penalty weeks Value] ;  
 
SUM('PO data'[Delay in weeks])*-1));
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Figured it out. Just had to do a second measure with SUMX and multiply the problematic measure it by 1.

View solution in original post

6 REPLIES 6
kkuntner
Regular Visitor

Hi @Anonymous ,

 

 If I understand correctly, you are trying to summarize something, while considerind an upper limit (max penalty weeks value). The odd think in your formula is that in the IF function the two options are the 'Max penalty weeks'[Max penalty weeks Value] and SUM('PO data'[Delay in weeks])*-1) : one is a single value while the other is a sum. In the summary row of your visual table, the SUMX will iterate through the whole 'PO data' table, and for each row it will sum up 'PO data'[Delay in weeks] again, so it will do a sum-of-sums. That might cause the values being widly off.

 

Removing the SUM might help, otherwise please try to decribe the business rule you want to achieve, it might help understanding your formula better.

Anonymous
Not applicable

Thanks for the reply @kkuntner 

 

I did try to eliminate the second SUM, but the answer doesnt change. I posted the full function below and here's the explanation:

 

I want to calculate the potential delay penalty for each purchase order (PO) row. This depends on 3 parameters, is the delay based on weeks or days, what is the percentage of total order value, and what is the maximum time of delay in the vendor specific agreement.

 

There are different functions based on the first parameter, and the 3rd looks if you can use the column value or should you limit it to the given max value.

 

Also, I have some filters in the end, removing them doesnt help.

 

 

Delay penalty measure = CALCULATE(IF('Delay penalty per week or day'[Delay penalty per week or day Value] = 0;

[Total Order Value for late rows] * 'Penalty per day/week'[Penalty % per day/week Value] *

SUMX('PO data'; IF('PO data'[Delay in weeks] < 'Max penalty weeks'[Max penalty weeks Value]*-1; 'Max penalty weeks'[Max penalty weeks Value];
('PO data'[Delay in weeks])*-1));

[Total Order Value for late rows] * 'Penalty per day/week'[Penalty % per day/week Value] *

SUMX('PO data'; IF('PO data'[Delay] < 'Max penalty weeks'[Max penalty weeks Value]*-1; 'Max penalty weeks'[Max penalty weeks Value];
('PO data'[Delay])*-1)));

VALUES('PO data'[Time]); VALUES('Plant data'[Plant]); 'PO data'[Delay] < -2; VALUES('PO data'[Vendor Description]))

Hi @Anonymous  ,

 

Do you know if the [Total Order Value for late rows] measure makes sense for your total row? It might be a measure that makes sense for each PO row, but in the summary row you don't have a single PO row.

 

In such cases I try to debug by simplifying the formula back to its simplest form, and adding additional rules/expressions incrementally. Try if the value makes sense if you keep only the [Total Order Value for late rows] in the IF clause, does it make sense for you total row?

 

Anonymous
Not applicable

Hi, @kkuntner 

 

The total order value for late rows makes sense in this context, it might sound strange but in reality it's basically just value per row.  Just the base column can't be used in a measure, SUM produces the same output. The answer is also correct per row, but not in total. That's how I know the formula works in row context, and I did do it part by part to achieve this.

pic1.JPG

Anonymous
Not applicable

Figured it out. Just had to do a second measure with SUMX and multiply the problematic measure it by 1.

Hello friend,
 Do you know how to do it, can you give me an example?
thanks!

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.