Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi good day can anyone help me on my visual calculation. I have two table Plan and Actual and they are connected to my calendar table, bridge table Trade, bridge table location and i have a measaure Delta = [Actual] - [Plan]. What i required is if the total Trade per location per Trade is greaterthan 0 then Delta is 0
Thank you
Solved! Go to Solution.
Hey @AllanBerces,
Looking at your tables, here's a concise solution for your Delta calculation:
Create a new measure:
Delta Adjusted =
VAR CurrentTotal = [Actual] - [Plan]
RETURN
IF(
SUMX(
VALUES('Trade'[Trade]),
CALCULATE([Actual] - [Plan])
) > 0,
0,
CurrentTotal
)
Alternative approach if you need it at row level:
Delta Final =
VAR TradeLocationTotal =
CALCULATE(
[Actual] - [Plan],
ALLEXCEPT('YourFactTable', 'Location'[Location], 'Trade'[Trade])
)
RETURN
IF(TradeLocationTotal > 0, 0, [Actual] - [Plan])
Key points:
Test this with your data structure and let me know if you need adjustments for your specific table relationships.
Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Best regards,
Jainesh Poojara / Power BI Developer
Hey @AllanBerces,
I see the issue! The measure is checking per Trade, but you need it to check the total per Trade-Location combination. Here's the corrected version:
Updated Measure:
Delta Adjusted =
VAR CurrentTotal = [Actual] - [Plan]
VAR TradeLocationTotal =
CALCULATE(
SUMX(VALUES('YourTable'[ID]), [Actual] - [Plan]),
ALLEXCEPT('YourTable', 'YourTable'[Trade], 'YourTable'[Location])
)
RETURN
IF(TradeLocationTotal > 0, 0, CurrentTotal)
What changed:
In your case: Trade CIVIL + Location SOUTH has total delta of 0 (10-10), so individual -10 should remain -10, not become 0.
Try this and let me know if the logic matches what you expect!
Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Best regards,
Jainesh Poojara / Power BI Developer
Hey @AllanBerces,
Looking at your tables, here's a concise solution for your Delta calculation:
Create a new measure:
Delta Adjusted =
VAR CurrentTotal = [Actual] - [Plan]
RETURN
IF(
SUMX(
VALUES('Trade'[Trade]),
CALCULATE([Actual] - [Plan])
) > 0,
0,
CurrentTotal
)
Alternative approach if you need it at row level:
Delta Final =
VAR TradeLocationTotal =
CALCULATE(
[Actual] - [Plan],
ALLEXCEPT('YourFactTable', 'Location'[Location], 'Trade'[Trade])
)
RETURN
IF(TradeLocationTotal > 0, 0, [Actual] - [Plan])
Key points:
Test this with your data structure and let me know if you need adjustments for your specific table relationships.
Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Best regards,
Jainesh Poojara / Power BI Developer
Hi @jaineshp thank you i got the coorect value, i just removed the [Plan] on the Delta adjusted. now working perfectly.
H1 @jaineshp thank you for the reply i used the firts measure and this part given wrong data. the measure should base from total if greater than 0 then 0
When I try the measure shows this, the -10 didnt change to 0
Create a new measure:
Delta Adjusted =
VAR CurrentTotal = [Actual] - [Plan]
RETURN
IF(
SUMX(
VALUES('Trade'[Trade]),
CALCULATE([Actual] - [Plan])
) > 0,
0,
CurrentTotal
)
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
| User | Count |
|---|---|
| 46 | |
| 43 | |
| 39 | |
| 19 | |
| 15 |
| User | Count |
|---|---|
| 68 | |
| 65 | |
| 31 | |
| 28 | |
| 24 |