The Question Every Bar Chart Eventually Gets Asked
"Bars are fine, but how much did each one change from the last one?" It's one of the most common follow-up questions on any time-series bar chart — month-over-month revenue, quarter-over-quarter headcount, year-over-year units sold — and it's rarely answered by the chart itself.
The Standard Approach — and Why It's Annoying
The usual fix in Power BI is a DAX measure: something like a variance-percent calculation using CALCULATE and a time-intelligence function (PREVIOUSMONTH, SAMEPERIODLASTYEAR, or a manual index-shift pattern), then a second visual element — a label, a callout, or a separate line — to actually display it next to each bar.
This works, but it has real costs:
- Every new period comparison (month-over-month vs year-over-year vs vs-budget) needs its own DAX measure.
- The measure breaks silently if the date table, granularity, or filter context changes — a common source of "why is this number wrong" debugging sessions.
- Positioning the variance label next to the right bar, with the right color and the right arrow direction, is a manual formatting exercise repeated on every report.
- None of this transfers automatically to Small Multiples — splitting the same chart across categories usually means redoing the calculation logic per panel.
What Good Period-over-Period Display Needs
- Automatic detection of "previous" — whatever the axis granularity, the visual should know which bar precedes which without a separate configuration step per report.
- Clear positive/negative encoding — color and arrow direction, consistently applied.
- Connector or callout style that doesn't clutter a chart with many bars.
- Compatibility with Small Multiples — comparing variation across several categories side by side, sharing one Y scale, is often the actual point of the analysis.
Bar Chart with Variation % for Power BI
Bar Chart with Variation % calculates and displays the percentage change between consecutive bars automatically — drop in an axis and a measure, and the variation appears with zero DAX, zero calculated columns.
What it adds
- Automatic variation % between every consecutive bar, with arrows and connector lines showing direction at a glance.
- Small Multiples with a shared Y scale — 3 panels on Free, unlimited on Pro — for comparing variation across categories or regions side by side.
- Analytical lines (Pro): average, min, max, median, or a custom reference — overlaid directly on the bars.
- A reference band (Pro) for acceptable ranges, e.g. budget ± 5%.
- Conditional formatting per bar via the native Power BI fx button (Pro).
- Value labels on bars (Pro), for presentations and exports where hovering isn't an option.
- Drill-down on hierarchies, cross-filtering, and high-contrast accessibility mode included on every tier.
Getting Started
- Drag a category or date field to Axis.
- Drag a numeric measure to Values — variation % is calculated automatically between every consecutive bar.
- Optionally drag a category to Small Multiple to split into side-by-side panels.
- Drag any field to Tooltips for additional hover context.
If "how much did this change since last period" is a question your bar chart gets asked constantly, it's worth having the chart answer it by default instead of building a DAX measure for every new comparison.