March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe 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
I have developed a measure for profit (SUM(revenue) - SUM(cost), as expected) that works just fine. As expected, the measure aggregates according to the aggregate rows in output tables (e.g. if Project and Period is shown then the measure sums over Project and Period, but if only Period is shown then the measures sums over Period only).
The issue is that a measure I have made for CUMULATIVE profit does not work in the same consistent manner. The columns in output tables affect how it works, yielding different - and wrong - results depending on columns chosen.
I have tried two different measures as follows:
Cumulative Profit (with project constraint)
Cumulative 1 = CALCULATE([Profit], FILTER(ALLSELECTED(Table), Table[Period]<=MAX(Table[Period])))
Cumulative Profit (no project constraint)
Cumulative 2 = CALCULATE([Profit], FILTER(ALLSELECTED(Table), Table[Period]<=MAX(Table[Period]) && Table[Project] = MAX(Table[Project])))
Whether each gives the right answer depends on whether the output table shows project or not. These mock-ups show the behaviour:
Correct (desired) cumulative balances are in green, wrong answers are in red.
It is weird that one solution works when the Project is a column in the output table, and one solution works when it is not. For the Profit measure, it works whatever the columns in the output table.
Anyone know how to fix it?
Cheers
John
@JohnYeldham , refer if this can help
https://www.kasperonbi.com/use-isinscope-to-get-the-right-hierarchy-level-in-dax/
@JohnYeldham - Would love to have some sample data to test with in order to see if I could come up with a solution that works for both. Can you post some sample data?
Overall though, I am not necessarily suprised, measures are finicky when it comes to context. Just think about the measures total problem. You could put them into a single measure like this:
Cumulative Profit =
IF(
ISINSCOPE('Table'[Project]),
[Cumulative 1],
[Cumulative 2]
)
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
115 | |
76 | |
57 | |
52 | |
44 |
User | Count |
---|---|
164 | |
116 | |
63 | |
57 | |
50 |