Demonstration project
Site Inspection Performance
A five-page Power BI report for Meridian Facilities Group, a fictional national facilities operator with 42 sites across six UK regions. It answers the three questions operations leadership asks every month: are we inspecting enough, is compliance where it should be, and are corrective actions getting closed?
The executive overview: inspections against plan, compliance against the 90% target, and the overdue-action chase list. Data to 26 June 2026.
Synthetic data · fictional client · the full model, DAX and data generator are on GitHub (available on request).
The problem
Meridian Facilities Group runs scheduled health, safety and compliance inspections across a 42-site estate. Leadership needs three answers every month: are we inspecting enough, is compliance where it should be, and are the corrective actions we raise actually getting closed? The data exists, hundreds of inspections a year against a 24-question checklist, but without a disciplined report it stays anecdote.
What the report does
Five pages, each answering one operational question:
- Executive Overview - the ten-second read: inspection volume against plan, compliance against the 90% target, findings, and the overdue-action chase list. Red appears on exactly one thing at a time.
- Compliance Deep-Dive - what we are finding and where it repeats: a section-by-month compliance heatmap where uninspected cells stay blank (never a fake 0%), the worst-scoring questions and repeat-offender sites.
- Action Tracker - the corrective-action lifecycle: closure rate against target, ageing, and an owned register of open and overdue actions. The operational to-do list, not just a chart.
- Coverage - are we inspecting the right places often enough? Days since last visit per site, against a stated staleness threshold: a rule, not a vibe.
- Inspection Detail - one inspection end to end, reached by right-click drillthrough. The header score and the question detail can never disagree, because they are the same measure.
The deep-dive: compliance by checklist section and month, darker blue meaning higher compliance and white text marking cells at or above the 90% target. Blank cells mean not inspected, never a fake score.
The action tracker: raised, open and overdue counts, closure rate against the 90% target, and a register where every open action has an owner and a due date. Red is reserved for genuinely overdue.
Under the hood
No inspection score is stored anywhere. The compliance percentage is a single measure evaluated at whatever grain the visual asks for: trend, region, heatmap cell, or one inspection's header. Every level of the report reconciles by construction. All time logic is anchored to a fixed as-at date (26 June 2026, the latest inspection in the data), never the system clock, so the published figures are stable and reproducible.
The raw data is generated by a committed, deterministic script and contains six deliberate, documented defects the model handles in the open: uninspected site-months, duplicate export rows, N/A answers, an orphan action, unassigned owners and dirty site names. Handling messy data honestly is part of the job, so the portfolio shows it.
The source
The whole project is readable as text: the semantic model in TMDL, the report in PBIR, the DAX measure by measure, and the data generator that produced every figure on this page. The repository is private while the portfolio is finalised; the source is available on request.
All data in this case study is synthetic, generated by a committed, deterministic script; Meridian Facilities Group is a fictional client created to demonstrate the work. No real client data appears anywhere in this project.