The problem: a measure that only one chart will ever use
Picture this: you've got a semantic model with dozens of well-thought-out measures Total Sales, Total Profit, Units Sold each one used across multiple reports and visuals. Then you're building a new chart, and you need something extra just for that one chart: a running total of profit across quarters, so viewers can see how the number accumulates over the year.
The normal way to get this is to write a new DAX measure something like a cumulative sum pattern using CALCULATE and FILTER and add it to your model. It works, but now your model has a new measure that exists purely to serve one chart. Nobody else will ever use "Running Total Profit" anywhere else in the report. Do this a few times across a few different charts a moving average here, a percent-of-total there and your once-clean model starts filling up with single-purpose measures that only really describe how one visual looks, not your actual business data.
What Power BI's Visual Calculations actually are
Power BI now has a feature called Visual Calculations, and as of the May 2026 update, it's generally available. In plain terms: it lets you write a calculation directly on a chart or matrix itself not in your semantic model so the logic lives exactly where it's used, and nowhere else.
The part that makes this genuinely easy, even if you're not confident writing DAX yourself, is that Power BI includes ready-made templates for the most common patterns people reach for: Running sum, Moving average, Percent of parent, Percent of grand total, Average of children, and comparisons like Versus previous or Versus first. For a lot of everyday needs, you're not writing a formula from scratch at all you're picking a template and pointing it at the right column.
A real example
Say you've built a matrix showing Profit by Quarter, and you want to add a second column next to it showing the running total of profit as the year progresses so viewers can see not just each quarter's number, but how it's adding up over time.
Here's how that looks:
1. Select your matrix visual (with Profit already showing by Quarter).
2. In the Visualize pane, look for the option to add a new visual calculation this is usually available by right-clicking inside the visual itself, or through a ribbon button.
3. Choose the Running sum template from the list of built-in patterns.
4. Point it at your Profit column.
That's it. A new column appears in your matrix immediately, showing profit accumulating quarter by quarter and none of this touched your semantic model. If you later delete this visual, the calculation disappears with it. Nothing was left behind for anyone else to stumble across or wonder about.
Where this saves the most time
- One-off requests a manager or client asking for "just this one chart" to show something extra, like a running total or a comparison to the previous period, without justifying a permanent model change
- Exploratory analysis trying out a moving average or percent-of-total view to see if it's useful, without committing to a new measure until you're sure you want it
- Keeping your semantic model clean, especially in shared or governed environments where every new measure needs review, documentation, or approval before it's added
What to keep in mind
Visual calculations are scoped to the visual they're created on that's the whole point, but it also means if you genuinely do need the same calculation in three or four different visuals across your report, it's worth reconsidering whether it actually belongs as a proper measure in your model instead. Visual calculations are best thought of as the right tool for something specific to one chart, not a replacement for well-designed, reusable measures.
It's also worth knowing that totals in a visual calculation can behave a little differently than you might expect at first Power BI gives you control over how totals are calculated too, so it's worth checking that the total row shows what you actually intend before you publish.
If you've been adding one-off measures to your model just to serve a single chart, this is worth trying instead it keeps that logic contained exactly where it belongs.
Have you built a "one chart only" measure before that you wished didn't need to live in your model? I'd like to hear about it drop a comment.