Power BIMicrosoft Fabric

Why your source system is the wrong shape for reporting: normalised versus denormalised data

SD

Simon Devine

Founder, Hopton Analytics

September 2026·3 min read
Why your source system is the wrong shape for reporting: normalised versus denormalised data

Business Central, Salesforce and every other operational system store data in a shape built for writing, not reading. Reporting needs a different shape, and that is what data modelling is for.

This is the first post in a short series on the basics of data modelling. It starts with a question that sounds too simple to ask: if the data is already in a database, why can't we just report on it?

The answer is shape. Operational systems such as Business Central, Salesforce or a bespoke order system hold the right data in the wrong shape for analysis. Understanding why is the first step to understanding everything else in data modelling.

Operational systems are built to record, not to answer

An ERP or CRM has one main job: capture transactions quickly and correctly. Every time someone raises an invoice, books stock or updates a customer, the system has to write that change once, in one place, without contradicting anything else.

The design that achieves this is called normalisation. Data is split into many narrow tables, each describing one thing, linked by keys. A customer's address lives in one table. Their payment terms live in another. An invoice is split into a header table and a line table, and the line points at an item table, which points at an item category table.

Nothing is repeated. If a customer moves, one row changes and every invoice that refers to them is automatically correct. For recording transactions, it is exactly the right design.

Why that shape hurts reporting

Now ask a simple business question: what did we sell last quarter, by region and product category, compared with the same quarter last year?

In a normalised system, answering it means joining the invoice header to the invoice lines, the lines to items, items to categories, the header to customers, customers to regions, and then working out which dates count as last quarter. Business Central adds its own layer on top, with dimension set entries that hold analysis codes such as department or project in a separate structure.

Every report that asks a similar question has to rebuild those joins. Different people rebuild them slightly differently. That is one of the most common reasons Power BI reports disagree with each other, and a frequent cause of slow reports.

Denormalising: reshaping for questions

Reporting models deliberately go the other way. They denormalise: they flatten related tables together so that everything you need to describe a thing sits in one place.

The customer, their region, their sales channel and their account manager become one wide customer table. Item, category and brand become one product table. The transactions themselves become a long, narrow table of numbers with keys pointing at those descriptive tables.

Some values are now repeated. The region name appears on every customer in that region. That is fine. Reporting tools read far more than they write, and modern engines such as the one behind Power BI compress repeated values extremely well. The result is fewer joins, simpler logic, faster queries and one agreed version of each definition.

Where the reshaping happens

The reshaping should happen once, upstream, not inside every report. In a modern Microsoft estate that usually means:

If you are on Business Central, our Business Central analytics work follows exactly this pattern.

What comes next

The reporting shape that almost every well-built Power BI model uses has a name: the star schema. It is the subject of the next post in this series. After that we cover grain, slowly changing dimensions, the date table and relationships.

If you want to know how far your current reports are from that shape, a free audit is a quick way to find out.

Source systems are built to remember what happened. Reporting models are built to explain it.

SD

Simon Devine

Founder, Hopton Analytics

Part of the Hopton Analytics team, delivering governed analytics programmes for UK mid-market organisations.

FAQs

Frequently asked questions

Get started

Ready to put this into practice?

Reading about better analytics is a start. Working with us is how it happens.

Book a free audit