Event display & styling
How events are drawn, how many of them a day shows, how they're coloured, and the two features that give the grid real-world context: public holidays and working hours.
Anatomy of an event
| State | How it looks |
|---|---|
| Normal | A soft tint of the category colour, with a 4-pixel bar of the full colour on its leading edge. |
| Selected | Filled solid in the category colour with white text and a subtle shadow. |
| Dimmed | Faded to 30% — an event whose category isn't currently highlighted in the legend. |
| Continuing | A squared-off edge, meaning the event started before, or ends after, the row on screen. |
In Day view, timed chips also carry their time range beneath the title. If the chip is too short to fit both lines, the time is dropped so the title stays readable.
The order events appear in
Within a day, events are sorted the same way Outlook and Google Calendar sort them:
- Chronologically, by start time.
- Among events starting at the same moment, the longer one first.
That keeps a multi-day event pinned to the top of every day it crosses, so its bar reads as one continuous run instead of stepping up and down the grid. Public holidays are placed ahead of your data on the days they fall.
Event density and "+N more"
Format → Event Display → Max Events Per Cell — 1 to 5, default 3.
In Month and Quarter views, each day cell shows at most this many events. Anything beyond becomes a "+N more" button (just "+N" in Quarter view) that opens a panel listing every event on that day.
- Events in the panel behave exactly like events in the grid — hover, click to cross-filter, right-click for the menu.
- The panel closes on Esc, on a click outside it, or when the view changes.
- The first click outside the panel only closes the panel; your report selection survives.
Raising the cap to 5 helps a little, but the real fixes are: make the visual taller, switch busy periods to Week or List view, or filter the data. A month cell is roughly 5 chips tall at a comfortable report size.
Categories and colours
Bind a Category field and every distinct value gets its own colour.
Format → Data Colors shows one colour picker per category, labelled with the category name:
- Defaults come from the report theme palette, so an untouched calendar already matches your report.
- Categories are assigned their slot alphabetically, so a given category keeps the same colour across data refreshes.
- Your choices are stored with the report and survive refreshes.
- Up to 20 categories get a picker. Beyond that, extra categories are still coloured from the theme palette but have no swatch in the pane.
- Events with a blank category share a single default colour.
With no Category bound, every event takes the same colour and no legend is shown. That's the right setup for a single-purpose calendar — a deadline calendar, a maintenance calendar — where colour would carry no information.
The legend
Format → Legend
| Setting | Options | Default |
|---|---|---|
| Show Legend | On · Off | On |
| Position | Top · Bottom · Left · Right · Top Center · Bottom Center | Bottom |
| Font Size | 8 – 60 | 11 |
The legend lists every category in the data and takes its space from the grid, so a left- or right-hand legend narrows the calendar. Bottom positions get a thin rule between the grid and the legend.
The legend only appears when a Category field is bound and at least one event has a category value.
The legend is also a filter — clicking a category filters the whole report to it. See Filtering from the legend.
Public holidays
Format → Holidays
Turn on Show holidays and pick a country to draw its national public holidays straight onto the grid — no data modelling, no holiday table, no external service.
| Setting | Options | Default |
|---|---|---|
| Show holidays | On · Off | Off |
| Country or region | United States · United Kingdom · France · Germany · Canada · Australia · Spain · Italy · Netherlands · Belgium | United States |
| Holiday color | Any colour | #7B68A6 |
Holidays behave as background information, not as data:
- They are drawn as all-day events in your chosen colour, named in the country's own language (Jour de l'an, Ostermontag, Ferragosto).
- They can't be clicked, selected, or cross-filtered — clicking one leaves your report selection alone.
- They don't appear in the legend and aren't affected by your Data Colors.
- Moveable feasts are calculated properly: Easter-based holidays (Good Friday, Easter Monday, Ascension, Whit Monday) land on the right dates in every year.
The lists cover national/federal public holidays. Regional and state holidays (German Länder, Spanish comunidades, Canadian provinces, US states) and the UK convention of shifting a holiday that falls on a weekend to the following Monday are not included. If your organization needs exact local dates, model the holidays as data instead — one row per holiday, with its own category — and leave this setting off.
Working hours
Format → Work Hours
| Setting | Options | Default |
|---|---|---|
| Monday … Sunday | On · Off per day | Mon–Fri on, Sat–Sun off |
| Work Start Hour | 0 – 24 | 9 |
| Work End Hour | 0 – 24 | 18 |
These settings describe your business day. They change presentation only — nothing is hidden, moved or filtered:
- Week view shades non-working days as columns, and non-working hours as bands.
- Day view shades non-working hours.
- Week and Day view open scrolled to the middle of your working hours, so the business day is on screen without scrolling. This is the setting's most useful effect: a calendar of 09:00–17:00 meetings shouldn't open at midnight.
- Month, Quarter, Year and List views are unaffected.
Working a night shift or a non-standard week? Set Work Start Hour to 22 and Work End Hour to 6, or turn on Saturday and Sunday and turn off two weekdays. The shading and the opening scroll position follow whatever you set.
Today and now
- Today's date is circled in Month, Week, Quarter and Year views, and shown in colour in the List view's day header.
- A red "now" line crosses today's column in Week view and the whole grid in Day view, and moves as the clock does.
- Both follow the viewer's own clock, not the report's refresh time — a calendar opened in Sydney and in Lisbon each show their own "now".
Dates, times and languages
Everything the visual writes follows the viewer's Power BI language:
- Month and weekday names, and the period title in the header.
- The 12- or 24-hour clock —
2:30 PMfor an English viewer,14:30for a French one. - Date order in the popover and tooltip.
- Right-to-left layouts for Arabic and Hebrew: the grid, the header, the chips and the legend all mirror.
Your own data — titles, category names, tooltip values — is shown exactly as it comes from the model.
First Day of Week is deliberately not automatic: it's a report-editor decision under Format → Calendar, so every viewer sees the same grid regardless of their locale.
See Supported languages.
High contrast
When a viewer turns on Windows high contrast mode, the Calendar switches to the system palette automatically:
- Event chips become outlined rather than colour-filled, and category colours (including your Data Colors and the holiday colour) are replaced by the system foreground colour — a category hue can be unreadable against a high-contrast background.
- Selected events use the system's selection colour.
- Grid lines, text, the today marker and the now line all take system colours.
Your colour settings aren't lost — they return as soon as high contrast is switched off.
Related
- Views & navigation — how each view lays these events out.
- Interactivity & cross-filtering — selection, the legend filter, tooltips and popovers.
- Formatting reference — every setting with its default.