Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello! I am creating a matrix that consists of years (along the columns) and different values (along the rows - these also pull from different tables).
I am wondering if there is a way to create a percent change column from year to year for all of the different values. I am finding DAX to do this with one type of value, but I would like it to just calculate for each specific year, for all of the values (example: 2015 vs 2014, 2016 vs 2015, and so on).
This is what I am working with so far:
Ideally, I would like the percent change between each year column.
Thanks in advance! 🙂
Thank you both for possible options. I am wondering if these of these would work with multiple values? In the snapshot included in the post, I am actually pulling the values from 3 different tables, all of which are joined to my date table. I'm wondering if what I am trying to accomplish here is even possible (I am thinking kinda of like excel, where I could have a percent change column in between each year, for each of the values on the left).
Thanks! 🙂
Hi @nrenaud ,
The formulas that amitchandak suggests should work fine. You also could try DATEADD and SAMEPERIODLASTYEAR function to calculate the values of last year if you are using calendar table.
Measure =
var thisYear = CALCULATE(SUM('Table'[Sales]))
var lastYear = CALCULATE(SUM('Table'[Sales]),DATEADD('Date'[Date],-1,YEAR))
return
DIVIDE(thisYear-lastYear,lastYear)Measure 2_SAMEPERIODLASTYEAR =
var thisYear = CALCULATE(SUM('Table'[Sales]))
var lastYear = CALCULATE(SUM('Table'[Sales]),SAMEPERIODLASTYEAR('Date'[Date]))
return
DIVIDE(thisYear-lastYear,lastYear)
https://www.youtube.com/watch?v=80i8rLQtO3o
https://www.youtube.com/watch?v=6vJIAJNTdG0
@nrenaud ,
Try with a separate date/year table
This Year = CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])))
Last Year = CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])-1))
diff = [This Year]-[Last Year]
diff %= divide([This Year]-[Last Year],[Last Year])
To get the best of the time intelligence function. Make sure you have a date calendar and it has been marked as the date in model view. Also, join it with the date column of your fact/s. Refer :
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
See if my webinar on Time Intelligence can help: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...
Appreciate your Kudos.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 58 | |
| 45 | |
| 42 | |
| 21 | |
| 18 |