Author: Luc Debois © August 2026 – Version 1.0

Power BI continues to evolve at a rapid pace, introducing features that make analytics more accessible while reducing the complexity traditionally associated with DAX. One of the most exciting additions in recent years is Visual Calculations.
At first glance, Visual Calculations may appear to be “just another way” to write calculations. In reality, they introduce an entirely new calculation layer that lives directly inside a visual. For many reporting scenarios, they can significantly simplify development, improve performance, and reduce the number of measures in your semantic model.
Let’s dive into what Visual Calculations are, why they matter, and when you should (and should not) use them.
What Are Visual Calculations?
Traditional Power BI calculations are typically created using:
- Calculated Columns
- Measures
- Calculated Tables
Visual Calculations introduce a fourth option.
A Visual Calculation is a DAX expression that is created directly on a visual, rather than inside the semantic model. The calculation runs against the data already displayed in the visual and is stored only within that visual.
This means:
✅ No additional measures cluttering your model
✅ Simpler DAX expressions
✅ Faster development for many scenarios
✅ Often better performance because calculations operate on already aggregated data
Why Microsoft Introduced Visual Calculations
Many Power BI developers have written measures like:
Running Total =
CALCULATE(
[Sales],
FILTER(
ALL(‘Date’),
‘Date'[Date] <= MAX(‘Date'[Date])
)
)
While powerful, calculations like this require a solid understanding of:
- Filter context
- Row context
- Context transition
- CALCULATE behaviour
Visual Calculations remove much of that complexity.
A running total can now be written as:
Running Sales =
RUNNINGSUM([Sales Amount])
That’s it.
No CALCULATE. No FILTER. No ALL. No context gymnastics.
How Visual Calculations Work
When you create a Visual Calculation, Power BI first generates the visual result set.
Imagine a matrix containing:
| Year | Sales |
|---|---|
| 2023 | 100,000 |
| 2024 | 120,000 |
| 2025 | 140,000 |
The Visual Calculation is then applied to this result set.
In other words:
- Power BI executes the visual.
- The visual returns aggregated results.
- The Visual Calculation runs on those aggregated values.
Because it operates after aggregation, the DAX required is usually much shorter and easier to understand.
Creating Your First Visual Calculation
Adding one is very straightforward:
- Select a table, matrix, chart, or supported visual.
- Click New Visual Calculation.

- Enter your DAX expression.
- Power BI immediately displays the result in the visual
For example:
Profit =
[Sales Amount] – [Total Product Cost]
Unlike a traditional measure, the result only exists within that specific visual.
Built-In Templates
One of the nicest aspects of Visual Calculations is the growing list of built-in templates.
Power BI can automatically generate common calculations such as:
- Running Sum
- Moving Average
- Percent of Parent
- Percent of Grand Total
- Versus Previous
- Versus Last
- Running Difference
- Custom Totals
These templates are especially useful for beginners who are just learning DAX.
Example 1: Running Totals
The classic running total becomes:
Running Sales =
RUNNINGSUM([Sales Amount])
Resetting by Year:
Running Sales =
RUNNINGSUM(
[Sales Amount],
HIGHESTPARENT
)
This is dramatically easier than most traditional measure implementations.
Example 2: Moving Average
A three-period moving average:
Moving Average =
MOVINGAVERAGE(
[Sales Amount],
3
)
This type of calculation previously required considerably more DAX.
Now it can be created in seconds.
Example 3: Compare with Previous Period
A very common business question is:
“How did sales evolve compared to the previous month?”
Visual Calculations offer dedicated functions:
Previous Sales =
PREVIOUS([Sales Amount])
Difference =
[Sales Amount] – [Previous Sales]
For trend analysis, this is significantly simpler than traditional DAX patterns.
Special Functions Available
Visual Calculations introduced several new DAX functions designed specifically for visual-level calculations.
Some of the most important are:
| Function | Purpose |
|---|---|
| RUNNINGSUM | Running totals |
| MOVINGAVERAGE | Rolling averages |
| PREVIOUS | Previous value |
| NEXT | Next value |
| FIRST | First value |
| LAST | Last value |
| RANGE | Return a range of rows |
| COLLAPSE | Move up a hierarchy |
| COLLAPSEALL | Grand totals |
| EXPAND | Move down a hierarchy |
| EXPANDALL | Expand to lowest level |
Interestingly, these functions are built on concepts that are closely related to the newer DAX window functions such as OFFSET, INDEX and WINDOW.
Performance Benefits
Visual Calculations often outperform equivalent measures.
Why?
Traditional measures usually evaluate against the detailed dataset.
Visual Calculations operate on already aggregated results displayed in the visual.
This means:
- Less data processed
- Simpler execution plans
- Reduced DAX complexity
- Faster rendering in many scenarios
Of course, performance always depends on the model and report design, but for running totals and moving averages the benefits can be substantial.
Limitations You Need to Know
Visual Calculations are powerful, but they are not a replacement for measures.
Important limitations include:
- Limited Scope
A Visual Calculation only exists inside one visual.
You cannot reuse it elsewhere. - Data Must Exist in the Visual
A Visual Calculation can only reference fields already present in that visual.
If a field is not present, the calculation cannot access it. - Not Supported Everywhere
Some visual types and scenarios still have restrictions and may not support Visual Calculations. - Not a Modelling Tool
Business logic used throughout an organisation should still live in measures.
A measure such as:
Net Profit Margin
should generally remain part of the semantic model.
When Should You Use Visual Calculations?
Visual Calculations are ideal for:
✅ Running sums
✅ Moving averages
✅ Rank-style calculations
✅ Month-over-month comparisons
✅ Percentages of totals
✅ Experimentation and prototyping
✅ Visual-specific analytics
Use traditional measures when:
✅ Business logic must be reused
✅ Calculations are shared across reports
✅ Calculations require access to full model context
✅ Governance and standardisation are important
Final Thoughts
Visual Calculations represent one of the most important usability improvements in Power BI since the introduction of DAX Query View.
They reduce complexity, improve productivity, and allow report developers to create sophisticated analytical calculations directly where they are needed: inside the visual itself.
Will they replace measures?
No.
Measures remain the foundation of enterprise Power BI models.
However, for many reporting scenarios, Visual Calculations provide a faster, cleaner, and more intuitive alternative. Think of them as the perfect companion to traditional DAX rather than a replacement.
My advice: pick one of your existing reports and replace a few running total or moving average measures with Visual Calculations. You will quickly discover why so many Power BI professionals see this feature as one of the most exciting additions to modern DAX.
Less DAX. Less complexity. More insights.
That is exactly what Visual Calculations are all about.
Example

For more info see
Websites
- https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-visual-calculations-overview
- https://dax.guide/functions/visual-calculations/
Book Microsoft Power BI – Visual Calculations
Authors: Jeroen ter Heerdt – Madzy Stikkelerom – Marc Lelijveld
Publisher: Addison Wesley