The problem
Reports were being built dataset-first: every column that existed became a visual. Pages took thirty seconds to read and answered no particular question.
Power BI
A reference layout showing how a Power BI report is composed around a decision — what belongs above the fold, what belongs one click away, and what should never be on the page at all.
Portfolio demonstration — illustrative figures, real structure
Reports were being built dataset-first: every column that existed became a visual. Pages took thirty seconds to read and answered no particular question.
The BI team building reports, and the business owners who sign off on them before publication.
Whether a report is ready to publish. A page that cannot state its question, its audience and its refresh contract does not ship.
Seconds to first interaction, by page. Lower is better.
Most of the gain came from the model, not from the visuals. Removing high-cardinality columns and pre-aggregating did more than any visual-level tuning.
Applied to every page before sign-off.
| Layer | What goes here | Limit |
|---|---|---|
| Above the fold | The answer: three to five measures against target | Max 5 visuals |
| Supporting | The trend and the breakdown that explains the answer | Max 3 visuals |
| One click away | Drill-through to the record level for anyone who challenges a number | Unlimited |
| Not on the page | Anything nobody has asked a question about | Removed |
The last row is the one that matters. Most report bloat is additive: nobody ever takes a visual away.
The parts that carry over to a production deployment.
Star schema with conformed date and organisation dimensions. Report authors never write a measure against a raw fact table.
Pre-aggregated tables for the summary pages, with detail resolved on drill-through only, which is what pulled render time under three seconds.
A single measures table with descriptions and format strings, so a measure means the same thing in every report that consumes it.
Each page carries its question, audience, refresh cadence and owner in metadata. Missing metadata blocks the deployment pipeline.