If you have ever built a Power BI report where the numbers look wrong, where filters do not seem to work properly, or where adding one more column suddenly breaks everything — the problem is almost certainly the data model underneath.
A data model is the structure that defines how your tables of data relate to each other. It is not the charts or the visuals — it is the invisible foundation everything sits on. Get it right and everything else becomes easier. Get it wrong and you will spend hours fighting your own report.
What a data model actually is
In Power BI, a data model is a set of tables connected by relationships. Each relationship says: 'the CustomerID in this sales table matches a CustomerID in the customers table.' Power BI uses these relationships to filter data correctly across visuals.
A simple data model for a sales dashboard might have:
- A sales fact table — one row per transaction, with date, customer ID, product ID, quantity, and revenue
- A customers dimension table — one row per customer, with customer ID, name, region, and segment
- A products dimension table — one row per product, with product ID, name, category, and cost price
- A date table — one row per calendar day, used for all time-based filtering
Key point
The date table is not optional. Without a proper date table connected to your fact table, time intelligence functions like month-on-month comparison and year-to-date totals will not work correctly.
The star schema — the standard pattern for Power BI
The most reliable data model structure for Power BI is called a star schema. It has one central fact table surrounded by dimension tables. The fact table contains the numbers you want to measure. The dimension tables contain the attributes you want to filter and group by.
The fact table is usually wide (many rows, fewer columns) and the dimension tables are usually narrow (fewer rows, more columns). Relationships go from dimension tables to the fact table — one-to-many, with the 'one' side on the dimension and the 'many' side on the fact.
What a bad data model looks like
Most data model problems come from one of these patterns:
- Everything in one table — all your data crammed into a single flat spreadsheet. Filters cross-contaminate and calculations become unreliable.
- Many-to-many relationships — two tables connected by a field that is not unique on either side. Power BI handles these but they are slow and produce unexpected results.
- Calculated columns instead of measures — calculating values at the row level and storing them, rather than calculating them dynamically as measures. Calculated columns consume memory and do not respond to filters the same way measures do.
- No date table — relying on Power BI to auto-detect dates. Auto-detected date tables are unreliable and break time intelligence functions.
How to fix a bad data model
If you have an existing Power BI report with data model problems, the fix is usually:
- 1.Split your flat table into separate fact and dimension tables in Power Query
- 2.Create a proper date table — either manually or using CALENDAR() in DAX
- 3.Delete calculated columns and replace with measures where possible
- 4.Check all relationships — make sure the 'one' side (unique values) is the dimension table
This feels like extra work up front. It pays back every time you add a new visual or a new filter to the report and it behaves correctly without any extra effort.
Does this apply to Tableau too?
Yes, though Tableau uses different terminology. In Tableau, the equivalent of a data model is the data source — the joins and relationships between tables that you define before building any views. The same principles apply: clean, structured tables connected by clear relationships produce better, more reliable reports.
If your Power BI report is giving you unreliable numbers, the data model is probably the cause. Book a free data review and we will tell you exactly what needs fixing.
Book a free data reviewCollins Ayidan
Founder of Collinalitics Ltd. Data analytics consultant specialising in Power BI dashboards and reporting automation for UK SMEs.
