Introduction:
It’s Not Just About Pretty Charts If you’re anything like me, when you first open Power BI, the temptation is to jump straight into the canvas and start dragging and dropping charts. We want to see the insights immediately. But this week, I learned that the real magic doesn't happen on the report canvas, it happens in the Model View.
We’ve been working with hospital and crop production datasets, and it became clear very quickly: if you don’t structure your data correctly "under the hood," your report will be a nightmare to build and painfully slow to load. This structure is what we call Data Modelling.
The Building Blocks: Facts and Dimensions Before we talk about schemas, we have to talk about the two types of tables that live in a model. When I first looked at our hospital data, it was easy to get overwhelmed. But data modelling simplifies this by splitting things into two buckets:
Fact Tables (The "What"): These are the busy tables. They capture things that happen. In our hospital example, a Patient Admission is a fact. It has dates, patient IDs, and numbers we can count. These tables are usually long and narrow because events happen constantly.
Dimension Tables (The "Who, Where, and When"): These tables describe the facts. They give context. For example, a Patients table tells us the name and age of the person admitted. A Locations table tells us which county the crops were grown in.
The Star of the Show: The Star Schema This is the gold standard in Power BI. Imagine a star shape. In the center, you have your massive Fact Table (like Crop_Yields). Radiating out from it, like points on a star, are your Dimension Tables (like Counties, Crop_Types, Years).
Visualizing the workflow: This is the process I followed to manually set up relationships for the hospital dataset.
Why do we like this? Because it’s efficient. When you filter by a specific "County," Power BI only has to make one hop from the Dimension table to the Fact table to give you the numbers. It’s simple, clean, and fast.
The Snowflake Schema: The Complicated Cousin Sometimes, your dimensions have dimensions. For example, imagine you have a Products table, which links to a Sub-Category table, which links to a Category table. Visually, this looks like a snowflake branching out. While this saves space in a database, it’s annoying for Power BI. To get an answer, the software has to run through a chain of relationships. It’s like playing a game of "Telephone" ,it takes longer and uses more processing power. The Verdict? Avoid snowflaking if you can. Flatten your dimensions to keep that Star shape.
Why Should You Care? You might be thinking, "Can't I just load one giant table with everything in it?" You could, but you shouldn't.
Performance: A good model makes your report snappy. A bad one makes users wait ten seconds for a graph to load.
DAX Simplicity: We started looking at DAX aggregation and filter functions this week. If your model is a mess, your DAX formulas have to be incredibly complex to work around it. A clean Star Schema allows you to write simple, elegant DAX.
Conclusion Data modelling is the invisible foundation of a great report. It’s the difference between a dashboard that works and one that crashes. As I continue diving into DAX and visualization, I’m realizing that time spent fixing the model is never time wasted.

Top comments (2)
Really amazing and captivating article
Thanks, Stacy! It was a challenging topic to summarize, so I’m glad you found it captivating.