Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
Hi all
I want to calculate the difference between values, based on the date as well as another categorial variable.
All that should be displayed in a waterfall diagram (column Expected Result). I attached a screenshot with dummy data and the expectet outcome.
Thanks in advance!
Solved! Go to Solution.
Hi @Anonymous ,
Based on your description, you can do some steps as follows.
Month = MONTH('Diff'[Date])2. Create a new measure.
Test Value =
var x1=MAXX(FILTER(ALL(Diff),[Month]=SELECTEDVALUE(Diff[Month])&&'Diff'[Cat]=SELECTEDVALUE(Diff[Cat])),'Diff'[Value])
var x2=MAXX(FILTER(ALL(Diff),[Month]=SELECTEDVALUE(Diff[Month])-1&&'Diff'[Cat]=SELECTEDVALUE(Diff[Cat])),'Diff'[Value])
return
x1-x2
Result:
Hope that's what you were looking for.
Best Regards,
Yuna
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi,
Try this calculated column formula
=data[value]-lookupvalue(data[value],data[date],calculate(max(data[date]),filter(data,data[cat]=earlier(data[cat])&&data[date]<earlier(data[date]))),data[cat],data[cat])
Hope this helps.
Hi @Anonymous ,
Based on your description, you can do some steps as follows.
Month = MONTH('Diff'[Date])2. Create a new measure.
Test Value =
var x1=MAXX(FILTER(ALL(Diff),[Month]=SELECTEDVALUE(Diff[Month])&&'Diff'[Cat]=SELECTEDVALUE(Diff[Cat])),'Diff'[Value])
var x2=MAXX(FILTER(ALL(Diff),[Month]=SELECTEDVALUE(Diff[Month])-1&&'Diff'[Cat]=SELECTEDVALUE(Diff[Cat])),'Diff'[Value])
return
x1-x2
Result:
Hope that's what you were looking for.
Best Regards,
Yuna
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi, thank you very much for your help!! It worked perfectly 🙂
Thanks again!
@Anonymous , Try a new column like
new column =
var _max = maxx(filter(Table, [cat] =earlier([cat]) && [Date] <earlier([Date])),[Date])
return
[value] - maxx(filter(Table, [cat] =earlier([cat]) && [Date] =_max),[value])
@amitchandakThank you very much for your reply!
Unfortunately I get an error ("syntax for return is incorrect").
Thanks again 🙂
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.