Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hello,
I am facing an issue for which I can not find the answer.
I need to return monthly change of a calculation in a measure. I get the correct values, but when I try to return previous month measure value in current month row it seems that Power BI also changes the aggregation it has inside, which is wrong for me.
Example.
So basicaly I just need to return previous difference value for current year-month row.
I need a measure and my dax is like this. Tried using PREVIOUSMONTH and other options but it returned the same value.
Maybe you guys have any ideas how to do it? Thank you.
Solved! Go to Solution.
Hi @elguestca1
For your question, here is the method I provided.
If [Difference] is measure, the code is as follows:
Need =
var _currentMonth = MAX('Table'[Year month])
var _previousMonth = MONTH(_currentMonth - 1)
RETURN
IF(
MONTH(_currentMonth) <> 1,
SUMX(
FILTER(
ALL('Table'),
MONTH('Table'[Year month]) = _previousMonth
),
'Table'[Difference]
),
BLANK())
If [Difference] is column, the code is as follows:
PreviousMonthInCurrentRow =
var _currentMonth = MAX('Table'[Year month])
var _previousMonth = MONTH(_currentMonth - 1)
RETURN
IF(
MONTH(_currentMonth) <> 1,
CALCULATE(
SUM('Table'[difference]),
FILTER(
ALL('Table'),
MONTH('Table'[Year month]) = _previousMonth
)
),
BLANK())
Here is the result.
Regards,
Nono Chen
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @elguestca1
For your question, here is the method I provided.
If [Difference] is measure, the code is as follows:
Need =
var _currentMonth = MAX('Table'[Year month])
var _previousMonth = MONTH(_currentMonth - 1)
RETURN
IF(
MONTH(_currentMonth) <> 1,
SUMX(
FILTER(
ALL('Table'),
MONTH('Table'[Year month]) = _previousMonth
),
'Table'[Difference]
),
BLANK())
If [Difference] is column, the code is as follows:
PreviousMonthInCurrentRow =
var _currentMonth = MAX('Table'[Year month])
var _previousMonth = MONTH(_currentMonth - 1)
RETURN
IF(
MONTH(_currentMonth) <> 1,
CALCULATE(
SUM('Table'[difference]),
FILTER(
ALL('Table'),
MONTH('Table'[Year month]) = _previousMonth
)
),
BLANK())
Here is the result.
Regards,
Nono Chen
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hello, @Anonymous ,
I accept the solution for this, because for what i asked it gives the right answer. I tried editing your pbix file to make it more similar to my actual file and yes in your file I get the right answer, but for my file it has quite large data model and there are several many to many relationships which, I believe, disrupts the calculation of measure i need. Values used for Measure A and Measure B are not just simple column values, but it has filters from different tables while trying to calculate them. But thanks for your help, I'll try to use your solution to fix this.
Thank you!
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.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 55 | |
| 34 | |
| 32 | |
| 19 | |
| 17 |
| User | Count |
|---|---|
| 75 | |
| 72 | |
| 38 | |
| 35 | |
| 25 |