Business Intelligence Data Analytics Power BI

Power BI Visual Level Format String: Complete Guide

Power BI Visual Level Format String: Complete Guide
Power BI

Power BI Visual Level Format String: The Three-Tier Formatting Hierarchy Explained

⏱️ 6 min read
Power BI · Data Analytics
Power BI visual level format string settings panel showing Data Format options under General in the formatting pane — three-tier hierarchy model, visual, element

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 semantic model should define what a measure means. The visual should define how that measure is presented in context. Visual level format strings are the architectural separation that makes both of those responsibilities clean."

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.

Model
Lowest Priority
Model-Level Format String
Set on a column or measure in the semantic model via the ribbon or Properties pane. Applies globally to all visuals unless overridden by a higher-level string. Visual calculations cannot have a model-level format string because they exist outside the model.
Visual
Overrides Model
Visual-Level Format String
Set through the Data Format options under General in the visual's formatting pane. Applies to all elements of that specific visual axis labels, tooltip values, totals, but does not affect any other visual using the same measure. This is the new tier introduced in preview.
Element
Highest Priority
Element-Level Format String
Set for a specific element within a visual - most commonly a data label. Overrides both the model-level and visual-level format strings for that element only. Other elements within the same visual continue to use the visual-level or model-level string as applicable.

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.

Power BI formatting pane showing Data Format options under General with visual level format string override set to whole number for a Sales measure

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.

  1. Open Options and Settings from the File menu in Power BI Desktop, select Options and Settings, then choose Options from the submenu.
  2. Navigate to Preview Features in the Options dialog, locate the Preview features section under the Global heading in the left navigation panel.
  3. 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.
  4. 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.

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.