What Year-over-year growth does
Compare current sales with last year. In Power BI, the key is not only the formula itself but how it behaves with slicers, relationships, visuals and totals.
Syntax or pattern
DIVIDE([Sales] - [Sales LY], [Sales LY], 0)5 practical business examples
Year-over-year growth in a sales report
Create a clear KPI for summary pages.
Sales YoY % = DIVIDE([Total Sales] - [Sales LY], [Sales LY], 0)Start from simple base measures before adding logic.
Trend comparison
Compare current result to a previous period.
Sales YoY % = DIVIDE([Total Sales] - [Sales LY], [Sales LY], 0)Use variance alongside variance percentage.
Target tracking
Compare performance against a goal.
Sales YoY % = DIVIDE([Total Sales] - [Sales LY], [Sales LY], 0)Good for finance and sales dashboards.
Ranking view
Rank products or customers by a measure.
Sales YoY % = DIVIDE([Total Sales] - [Sales LY], [Sales LY], 0)Use for top-N tables and leaderboards.
Readable report title
Create a title that reacts to slicers.
Sales YoY % = DIVIDE([Total Sales] - [Sales LY], [Sales LY], 0)Dynamic titles help users understand current filters.
Common mistakes to avoid
- Using Year-over-year growth before checking whether the data model has the right relationships and filter direction.
- Writing one complex measure instead of creating simple base measures first.
- Testing only at the total level and not checking row, category and date contexts.
- Forgetting that slicers, visuals and relationships can all change the filter context.
FAQ
When should I use Year-over-year growth in DAX?
Use Year-over-year growth when the calculation pattern matches the business question and the result behaves correctly in the current filter context.
Why is my Year-over-year growth measure returning the wrong total?
Most total issues come from row context, filter context, relationships, or using a column aggregation where an iterator or CALCULATE pattern is needed.
Can I use this Year-over-year growth pattern in a calculated column?
Some patterns work in calculated columns, but most reporting calculations should be measures so they respond to slicers and report filters.