Report Formatting and Themes
Consistent formatting-colors, fonts, spacing, and visual headers-turns a collection of charts into a coherent report, and Power BI centralizes most of this through the Format pane on each visual plus report-wide themes that cascade defaults everywhere.
Cricket analogy: A report without consistent formatting is like a stadium where every replay screen uses a different broadcaster's graphics package - technically functional, but jarring and unprofessional compared to one unified broadcast standard.
Report Themes: JSON-Based Styling
A theme is a JSON file (View > Themes > Browse for themes, or the built-in Customize current theme dialog) that defines a dataColors array, text classes, background colors, and visual-specific style overrides, letting an organization apply brand colors and fonts across every report in one import instead of manually restyling each visual.
Cricket analogy: A theme JSON's dataColors array applying a franchise's official yellow-and-blue palette across every report chart is like every CSK broadcast graphic using the same team colors regardless of which studio produced it.
Theme JSON supports a "visualStyles" section that targets specific visual types (e.g., all "card" visuals get a specific border) and even a "*" wildcard applying to every visual type, which is the mechanism designers use to enforce consistent title font sizes or background transparency report-wide.
Cricket analogy: The theme's visualStyles wildcard ("*") forcing every visual's title font to 14pt bold works like a broadcaster's style guide mandating the same lower-third font across cricket, football, and tennis coverage, while a "card" override sets special team-score tile styling only.
Page and Visual-Level Formatting Details
Bookmarks combined with the Selection pane let a designer save specific formatting/visibility states (e.g., a "Dark Mode" bookmark toggling a hidden dark-background layer), while Page Navigation buttons keep report navigation formatting consistent without relying on default page tabs, which is common in executive-facing reports.
Cricket analogy: A "Dark Mode" bookmark toggling a hidden dark-background layer works like a stadium's floodlight-versus-daylight broadcast preset, switching the whole visual feed's look with one saved setting instead of manually re-adjusting every camera.
Conditional formatting on table/matrix cells (background color, font color, or data bars driven by a measure) and consistent number formatting (custom format strings like "#,##0.0,,\"M\"") prevent a report from looking inconsistent when different authors build different pages.
Cricket analogy: Conditional formatting a strike-rate column with a red-to-green color scale highlights struggling versus in-form batsmen at a glance, the way a custom format string like "0.0\"%\"" keeps every economy rate consistently displayed to one decimal.
Accessibility matters when choosing theme dataColors: verify sufficient contrast between adjacent colors (a 3:1 minimum contrast ratio is a reasonable baseline) and avoid relying on red/green alone for conditional formatting, since roughly 8% of men have some form of color vision deficiency.
Manually formatting individual visuals (overriding font size or color directly in the Format pane) takes precedence over the report theme, so if different authors apply ad hoc manual overrides across pages, importing or changing the theme later won't fix the resulting inconsistency-those overrides must be cleared first.
{
"name": "Corporate Brand Theme",
"dataColors": [
"#1F4E79", "#2E86AB", "#F2A104",
"#A23B72", "#3B8686", "#C74B50"
],
"background": "#FFFFFF",
"foreground": "#252423",
"visualStyles": {
"*": {
"*": {
"title": [{ "fontSize": 14, "bold": true }]
}
},
"card": {
"*": {
"labels": [{ "color": "#1F4E79" }]
}
}
}
}- Themes are JSON files that define dataColors, background/foreground, and visual-specific style overrides.
- The visualStyles "*" wildcard applies a rule to every visual type; specific visual-type keys override just that type.
- Bookmarks combined with the Selection pane save formatting/visibility states like a toggleable dark mode layer.
- Page Navigation buttons offer a consistent alternative to default page tabs, common in executive reports.
- Conditional formatting (color scales, data bars, icons) driven by measures highlights patterns directly in tables/matrices.
- Custom number format strings keep values like currency-in-millions or signed deltas consistently displayed.
- Manual per-visual formatting overrides take precedence over the theme, so ad hoc overrides can undermine consistency even after a theme import.
Practice what you learned
1. What array in a theme JSON file defines the color palette used for chart series?
2. What does the "*" wildcard mean inside a theme's visualStyles section?
3. Why might importing a new theme fail to fully unify a report's appearance?
4. What accessibility consideration applies when choosing conditional formatting colors?
Was this page helpful?
You May Also Like
Choosing the Right Visual
How to match Power BI visual types to the shape of your data and the question you're actually answering, and the common chart-selection mistakes to avoid.
Custom Visuals
How to source, vet, and build custom Power BI visuals beyond the built-in gallery, from AppSource certification to the pbiviz SDK.
Slicers and Filters
How Power BI's three filtering layers-slicers, visual filters, and page/report filters-combine, sync, and interact with DAX filter-context functions.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics