Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
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, @v-nuoc-msft ,
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!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
82 | |
81 | |
52 | |
39 | |
35 |
User | Count |
---|---|
95 | |
79 | |
52 | |
49 | |
47 |