Power BI Visual Level Format String: The Three-Tier Formatting Hierarchy Explained
Power BI visual level format strings apply independent number formatting per visual, overriding the model's default format string without changing the underlying measure definition.
Number formatting in Power BI has always involved a trade-off: set the format string at the model level for consistency, and accept that every visual using that measure inherits the same presentation regardless of context. A revenue measure formatted as a decimal number in the semantic model appears as a decimal everywhere in a summary card, in a detailed transaction table, and in a data label on a bar chart - even when different display contexts call for different precision levels. The Power BI visual level format string feature resolves this trade-off by introducing a formatting layer that sits between the model definition and the element-specific override, giving report developers contextual control without model pollution.
The Formatting Problem That Visual Level Format Strings Solve
Before visual level format strings, report developers working with measures that needed different formats across visuals had two options, neither of them clean. The first was to create duplicate measures a Sales (Decimal) measure and a Sales (Whole Number) measure to serve different visual contexts. This approach bloats the semantic model with near-identical measures that diverge only in their format string, creating maintenance overhead and confusing the self-service reporting layer for business users who cannot distinguish between them.
The second option was to accept a single format and apply workarounds, using a FORMAT() DAX function to return a text string instead of a numeric value, which breaks sorting, aggregation, and cross-filter behaviour. Neither approach is appropriate for a production Power BI semantic model serving multiple consumer personas across multiple report pages.
The Power BI visual level format string feature addresses this by adding a formatting override at the visual layer one that does not modify the measure definition, does not require a duplicate measure, and does not introduce any text-conversion side effects. The same measure, with its model-level format string intact, renders differently in different visual contexts as the report design requires.
The Three-Tier Format String Hierarchy in Power BI
With the introduction of visual level format strings, Power BI now supports three distinct levels at which a format string can be applied to a measure or visual calculation. These levels are hierarchical a format string set at a higher level overrides whatever is defined at a lower level. Understanding the precedence rules is essential to predicting how a value will render when format strings have been set at multiple levels simultaneously.
The hierarchy resolves top-down: if an element-level string is set, it governs that element regardless of what the visual or model level defines. If no element-level string is set, the visual-level string governs that element, if one exists. If neither an element-level nor a visual-level string is set, the model-level string governs the display. Visual calculations, which have no model-level string by definition, can only be formatted at the visual or element level.
Visual Level Format Strings in Practice: Overriding a Measure
Consider a Sales measure in a semantic model configured with a decimal number format at the model level. Placed on any visual in its default state, it renders with decimal precision for example, displaying 12345.67. This is the appropriate default for a detailed transaction table where precision matters. On a summary KPI card showing total revenue to a CFO, however, whole number display is preferable the decimal adds noise without analytical value at that summary level.
Using a Power BI visual level format string, the developer selects the KPI card or matrix visual, opens the Format pane, navigates to General, and finds the Data Format section. Setting the format code to 0 (whole number) or #,##0 (whole number with thousands separator) on this visual causes the Sales measure to render as a whole number in that visual only. The model-level format string — and the rendering in every other visual on every other page — is unchanged. No duplicate measure is created. No DAX modification is required.
This pattern is particularly valuable in reports that serve multiple audiences from a single semantic model. An executive summary page can display rounded millions with the £#,##0,,\M format code applied at the visual level, while a detailed operational page on the same report renders the same measure with full decimal precision and both pages are consuming the identical underlying measure without any model-level compromise.
Element Level Formatting: Data Labels Independent of the Visual
The element level provides the most granular formatting control in the hierarchy. When a data label on a bar chart needs to display a different format from the axis values or tooltip for the same measure, the element-level format string handles this without affecting either the visual-level or model-level strings.
In a chart where the visual-level format string displays Sales as a whole number, the data label might additionally require a percentage symbol or a currency prefix that would be inappropriate on the axis. Setting the format code directly on the data label through the Data Labels section of the formatting pane, overrides the visual-level string for that element specifically. The axis continues to use the visual-level whole number format; the tooltip continues to use the visual-level whole number format; only the data label uses the element-level override. The distinction between label and axis formatting, which previously required either two measures or a FORMAT() workaround, is now handled cleanly through the hierarchy.
Formatting Visual Calculations With No Model-Level String
The most operationally significant application of the Power BI visual level format string feature is the formatting of visual calculations. Visual calculations are DAX expressions that operate on the visual matrix, they can reference other values in the visual through functions like PREVIOUS(), RUNNINGSUM(), and MOVINGAVERAGE() — but because they exist entirely within the visual layer and have no presence in the semantic model, they cannot be assigned a format string through the model. Prior to this feature, visual calculations would render with an unformatted number presentation unless they were specifically used in data labels, which supported an element-level override.
With visual level format strings, this limitation is resolved. A visual calculation returning a running sum can now be assigned a currency format string directly through the Data Format options in the visual's formatting pane. A visual calculation returning a period-over-period percentage change can be formatted as a percentage with the appropriate decimal precision. The format string is set on the visual where the calculation is used, and it applies consistently across all elements of that visual — axis, tooltip, matrix cell — with element-level overrides available for cases that require additional specificity.
When to Use Each Level: A Practical Decision Guide
| Scenario | Recommended Level | Rationale |
|---|---|---|
| Default format for a measure used consistently across the report | Model | Single definition, globally consistent — no maintenance overhead |
| Same measure needs different precision on a summary page vs. a detail page | Visual | Override at the visual layer without model duplication |
| Executive KPI card requiring rounded millions (e.g. £2.4M) | Visual | Apply abbreviation format code to the card visual only |
| Data label on a chart needs currency symbol; axis does not | Element (data label) | Highest-priority override scoped to the label element specifically |
| Visual calculation returning a percentage (no model-level string available) | Visual | Model level unavailable for visual calculations visual level is the baseline |
| Visual calculation data label needing additional precision beyond the visual default | Element (data label) | Element overrides the visual-level string for that element only |
How to Enable Visual Level Format Strings in Power BI Desktop
Visual level format strings are tied to the Visual Calculations preview feature in Power BI Desktop. Both capabilities are activated through the same preview toggle, meaning enabling visual calculations simultaneously enables visual level format string support. The activation process requires a Desktop restart to take effect.
- Open Options and Settings from the File menu in Power BI Desktop, select Options and Settings, then choose Options from the submenu.
- Navigate to Preview Features in the Options dialog, locate the Preview features section under the Global heading in the left navigation panel.
- Enable Visual Calculations tick the Visual Calculations checkbox and click OK to confirm. This single toggle activates both visual calculations and visual level format string support simultaneously.
- Restart Power BI Desktop close and reopen Desktop to apply the change. The Data Format options under General will now appear in the formatting pane for all visuals, and visual calculations will be available in the visual-level field well.
Once enabled, the Data Format section appears under General in the formatting pane for table, matrix, card, and chart visuals. The format code input accepts standard Power BI format strings the same syntax used for model-level measure formatting, making the transition from model-level to visual-level format configuration straightforward for developers already familiar with the format string language.
- Power BI visual level format strings introduce a middle tier in the formatting hierarchy between the model-level default and the element-level override allowing context-specific number formatting per visual without model duplication.
- The three-tier hierarchy resolves from element (highest priority) to visual to model (lowest priority): an element-level string overrides the visual, which overrides the model, for each applicable visual element.
- The primary practical benefit is eliminating duplicate measures created solely to serve different formatting contexts, the same measure can render as decimal in a detail table and rounded millions in a summary card using visual-level overrides.
- Visual calculations, which have no model-level format string because they exist outside the semantic model, can now be formatted through the visual-level Data Format options - resolving a significant gap in visual calculation usability.
- Element-level format strings set directly on data labels override the visual-level string for that element only, enabling data label formatting that is independent of axis, tooltip, and cell presentation on the same visual.
- The feature is enabled by activating the Visual Calculations preview toggle in Options → Preview features, which requires a Power BI Desktop restart to take effect.
Next Steps for Power BI Report Formatting Standards
For Power BI development teams managing reports at enterprise scale, the introduction of visual level format strings is an opportunity to revisit semantic model hygiene. Any duplicate measures that exist solely to serve different formatting contexts common in models that have grown organically over time can now be consolidated into a single measure with visual-level overrides applied where the presentation diverges. This reduces model size, simplifies the self-service field list for business users, and removes a category of maintenance overhead that compounds as report pages multiply.
For teams working actively with visual calculations, this feature removes the last significant barrier to treating visual calculations as first-class analytical tools. The inability to format visual calculation outputs consistently had limited their practical adoption to scenarios where unformatted numbers were acceptable. With visual-level format strings available, visual calculations for running totals, period-over-period comparisons, and moving averages can be formatted with the same precision as model measures making them a viable default option for visual-layer analytics rather than a last resort.
If your organisation is building or standardising a Power BI reporting framework and needs guidance on semantic model design, formatting standards, or visual calculation adoption, our certified Power BI consultants work with enterprise teams across the US, UK, Australia, and UAE to establish development standards that scale. For related Power BI formatting and visualisation topics, see our guides onthe Power BI new card visual and Power BI small multiples design. To discuss your specific requirements, contact Numlytics directly.