Power BI Customization

Customizing a Calendar Heatmap in Power BI

Customise the colours, labels, formatting, and behaviour of a Calendar Heatmap in Power BI — formatting pane options, theme overrides, conditional formatting, source-code edits.

Once you have a Calendar Heatmap on your Power BI report, the next question is always: how far can I customise it? The answer depends on whether you're working with a built-in chart (limited; only what the formatting pane exposes), a marketplace custom visual (limited to whatever options the vendor exposed; paid tiers often unlock more), or an AI-generated visual (every property is exposed because you own the source).

This guide walks through the four customisation surfaces in order from most accessible to most powerful: the formatting pane, conditional formatting, theme overrides via JSON, and source-code edits. The first three apply to every Power BI custom visual; the fourth applies only when you have the TypeScript source — which you do whenever you generate a visual with VizForge.

Step-by-step

  1. 1

    Start with the formatting pane

    Click the visual, then the paint-roller icon. Every option the visual exposes appears here — colours, font sizes, label positions, axis behaviour, cross-filter behaviour. For an AI-generated calendar heatmap, the formatting pane is whatever you described as a settings option in the original prompt.

  2. 2

    Apply conditional formatting where supported

    Right-click most colour or label-text properties → Conditional formatting. Drives the property from a DAX measure or rule. Useful for variance-driven colour rules (red/green based on threshold), KPI-status text, or data-driven labels.

  3. 3

    Override via report theme JSON

    Power BI report themes (.json) can set defaults for any custom visual property. View → Themes → Browse for themes. Themes are how enterprise design systems propagate across many reports without per-visual edits.

  4. 4

    Edit the TypeScript source for deeper changes

    When the formatting pane doesn't expose what you need (e.g. add a new bar-rounding option, change the cross-filter behaviour, integrate with a different DataView shape), open the visual.ts file in VS Code. The source ships with every VizForge-generated .pbiviz; rebuild with `pbiviz package` after edits.

  5. 5

    Re-prompt for substantive redesigns

    If the change is large enough that source edits feel laborious — different chart family, completely different layout — describe the new vision and re-generate rather than refactor. Generation is fast enough that re-prompting beats refactoring for changes above a certain size.

The AI alternative: Need a calendar heatmap customised exactly to your spec? Describe what you want — VizForge generates it with every option you mentioned exposed in the formatting pane. Source code yours.

Generate a calendar heatmap on VizForge →

When to use a calendar heatmap

  • Daily sales or revenue intensity across the year
  • Website traffic patterns (day-of-week × week-of-year)
  • Support-ticket volume by day
  • System incident timeline
  • User login frequency / retention calendars

Frequently asked questions

What if the formatting pane doesn't have the option I need?

Two paths. (a) Re-generate with a refinement prompt asking for that specific option to be exposed. (b) If you have the TypeScript source, add the option directly to settings.ts and the formatting pane reflects it on next package.

Can I keep the same .pbiviz across multiple reports?

Yes — once imported, the .pbiviz is a Power BI org-visual you can re-use. Or push it to your tenant's Org Visuals so anyone in your org can use it without importing.

Will customisations survive a regeneration?

Source-code edits won't carry across a from-scratch regeneration. Use Refine instead — it produces a minimal diff on the previous version, preserving everything not directly mentioned in your refinement prompt.

Can I show multiple years stacked?

Yes. Prompt for 'one row per year' and the visual renders one calendar block per year stacked vertically, with a shared color scale.

What happens on days with no data?

By default rendered as an empty (white) cell. Prompt for 'treat missing as zero' if you want them shaded as the lowest color stop.

Can I overlay holidays?

Yes — bring a Holiday column or flag and the visual outlines those cells with a ring in the formatting pane color.

Does it cross-filter?

Yes — click a cell to filter other visuals to that date; click-drag to select a range.

Other guides for the calendar heatmap

Same visual, different angle — pick the one that matches what you’re trying to do.

VizForge — AI-generated Power BI custom visuals.

Your next visual
ships in 4–10 min.

Sign up free. 5 credits to generate your first visuals on us. No credit card required.