4.1Themes & professional report design
The essentials in 30 seconds
- The theme is a JSON file (palette + fonts) applied in one go to the whole report: set it early, export it, reuse it on every report.
- One accent color carries the key information, the rest in neutral grays: that's the professional palette — a rainbow drowns the message.
- Color means something: you drive it by the data (conditional formatting fx), and you write titles as statements.
Running mini-case — Zineb dresses up the agri-food SME's report
Zineb, a management controller at an agri-food SME in Algiers, presents her sales report every month: it works, but every visual has its own color, nothing matches. Instead of recoloring visual by visual by hand, she applies the section's method. She opens View → Themes, tries two built-in themes, then Customize current theme: color 1 = the blue of her SME's brand guidelines, secondary colors in sober variations, Segoe UI font. In the city bar chart, she applies conditional formatting (fx): only the top city stays in accent, the others turn gray. She writes a title as a statement ("Algiers drives growth") and exports the theme (Save current theme) to reuse it on all her future reports.
Standalone case for this section: it returns in the course, the diagram, the script and the 48h challenge of section 4.1.
1. The theme unifies everything in one go
A credible report is recognized before it is read: consistent colors, a single typeface, clean alignments. Power BI equips this through the theme — a JSON file of colors and fonts applied in one go to the whole report. You set it early, export it, reuse it. Zineb no longer dresses each visual by hand: she chooses an identity and applies it everywhere.
The principle is standardization: once the visual identity is set, every new report starts on the right track instead of being redone from scratch.
2. One accent color, not a rainbow
The anti-rainbow rule: one accent color carries the key information, the rest breathes in neutral grays. And color MEANS something: red = alert, green = favorable — never decoration. You drive it by the data thanks to conditional formatting (Format → color → fx): red only appears if the margin is negative. Zineb therefore leaves a single bar in accent and turns the others gray.
3. Design starts with words
Before colors, there are words: you write titles as statements ("Algiers drives growth") rather than neutral labels ("Revenue by city"). Every visual earns its place, white space stays an ally, and consistency is checked page by page. Zineb rereads her report asking herself, for each visual: what decision does this title help make?
🔎 Concrete example — 🔎 Concrete example — The message rule
Zineb leaves a single bar in accent and writes a title that states:
City bar chart:
Format → column color → fx (conditional formatting)
→ only the top city in accent, the others in gray.
Title: "Algiers drives growth" (a statement, not "Revenue by city").
Reading: the eye goes straight to the information — no rainbow drowning the message.
Lesson: export the theme (Save current theme) to reuse it on every report.
Section vocabulary
- Report theme
- The JSON file (View → Themes): palette, fonts, default visual settings — applied in one go to the whole report.
Simple example: Zineb applies a theme to her sales report in one click.
What it is not: recoloring each visual one by one.
Reflex: set the theme early, export it, reuse it.
- Customize the theme
- The built-in editor (Themes → Customize): colors, text, backgrounds — without touching the JSON.
Simple example: Zineb sets color 1 to her SME's shade.
What it is not: editing the JSON file by hand.
Reflex: simple need → built-in editor.
- Accent color
- THE color that carries the key information; the rest in neutrals — the anti-rainbow rule.
Simple example: Zineb leaves the top city in accent, the rest in gray.
What it is not: a different color per category.
Reflex: a color that means something, grays around it.
- Conditional formatting
- Color driven by the data (Format → color → fx): red that appears ONLY if the margin is negative.
Simple example: Zineb colors the cities according to real performance.
What it is not: a fixed color that doesn't depend on the data.
Reflex: color is driven by the data (fx).
- Theme generator
- Community tools (e.g. themes.powerbi.tips) that produce the JSON from your brand colors.
Simple example: Zineb generates a theme from the company's brand guidelines.
What it is not: retyping the color codes approximately.
Reflex: house theme = reusable JSON.
In practice — In practice — Dressing the report in the house colors
- View → Themes: try 2-3 built-in themes — watch the whole report change, like Zineb.
- Themes → Customize current theme: set color 1 (your accent), turn the secondary colors into sober variations, choose the font (Segoe UI).
- Apply the message rule: in a bar chart, conditional formatting (fx) — only the top category in accent, the others in gray.
- Check consistency page by page, then export the theme (Save current theme).
Step-by-step script — dressing your report like Zineb (6 min)
1) Open View → Themes and apply a built-in theme: the whole report changes in one go. 2) Themes → Customize current theme: set color 1 to your accent, the secondary colors to sober grays, the font to Segoe UI. 3) In the city bar chart, Format → column color → fx: only the top city in accent, the others in gray. 4) Rewrite the title as a statement ("Algiers drives growth"). 5) Check consistency page by page then Save current theme to reuse it.
The exported theme will be reused on every report: it's a standardization investment that pays off with each new report.
Copy-paste template — my design sheet
Theme: View → Themes → built-in, then Customize (color 1 = accent, Segoe UI font).
Palette: 1 accent color + neutrals (anti-rainbow).
Color = meaning: conditional formatting (fx), not decoration.
Title: a STATEMENT ("Algiers drives growth").
Export: Save current theme → reusable everywhere.
House theme
Zineb applies her SME's blue and exports the theme for all her reports.
Meaningful color
Zineb colors the cities with fx: red only appears if the margin is negative.
A title that states
Zineb replaces "Revenue by city" with "Algiers drives growth".
Team consistency
Zineb shares her theme JSON with the .pbit template: all reports look alike.
✓ Best practices
- Set the theme early, export it, reuse it on every report.
- Palette: one accent color + neutrals.
- Color means something: conditional formatting (fx), not decoration.
✗ Common pitfalls
- Coloring each category (the rainbow that drowns the message).
- Using color as decoration rather than as a signal (fx).
- Neglecting consistency page by page.
Key takeaways
- The theme unifies everything in one go: set it early, export it, reuse it.
- One accent color + neutrals: the default professional palette.
- Color MEANS something: conditional formatting rather than decoration.
- Titles as statements: design starts with words.
48h challenge — apply it tomorrow
Like Zineb, apply a theme to a report: accent color + neutrals, a single font, then conditional formatting (fx) on a bar chart. Rewrite a title as a statement and export the theme (Save current theme) to reuse it.
- I can apply a built-in theme and customize it (accent, font).
- I know how to color by the data with conditional formatting (fx).
- I export my theme to reuse it on every report.
Frequently asked questions
Can I impose my organization's theme on the whole team?
Yes, in two complementary ways: the theme JSON file can be shared (create it once from the brand guidelines and distribute it with the house .pbit template), and on the Service side, administrators can deploy organizational themes that apply by default. The good team practice: formalize the visual identity once and roll it out.
How do I handle dark mode?
Power BI has no native light/dark toggle per report: it's a theme choice made at design time. For a classic corporate report (printed, projected), a light background remains the standard; dark is reserved for specific screen contexts. In all cases, keep the choice consistent across the whole report via the theme.
What does "color means something" mean in decision-oriented design?