Star Schema The Complete Reference
A data model is not a feature; it’s the core of a Power BI report. You can create a great report without using additional features like bookmarks. You can create a lot of useful reports without advanced DAX, using only relatively simple measures. But the report must be based on a proper (star schema) data model.
In my practice, I’ve often heard, “I already have a report; it’s 99% complete. I just need to add something,” which leads to the decision to start everything from scratch. A poorly designed data model can reduce report performance, introduce ambiguity, cause potential errors, force you to write overcomplicated DAX, and result in incorrect calculations. In such cases, it often becomes easier, faster, cheaper, less risky, and more efficient to rebuild the data model. This process requires changes in ETL, rewriting DAX measures, and likely redoing the visual part of the report. And still, it’s better to rebuild everything from scratch than to deal with all the problems of poor data modeling.
You can start by reading Analyzing Data with Power BI and Power Pivot for Excel to understand the basics of data modeling in Power BI.
It’s a great introduction, but then you’ll need a more comprehensive guide.
I highly recommend Star Schema: The Complete Reference by Christopher Adamson. It will help you learn the best practices of dimensional design. It will be especially useful when your data model is getting more complex than a basic one fact table star schema. Sometimes you have to introduce more complex relationships into your data model. For example, Power BI report to analyze city (property, grocery store etc.) neighbors. And this is when this book becomes irreplaceable.
The Star Schema book is a definitive guide to data modeling. If you have The Definitive Guide to DAX on your bookshelf, but not the Star Schema, then you’re trying to learn witchcraft in Hogwarts to cook a simple omelet for breakfast.
I worked with DAX since its very first version in Power Pivot. I’ve seen the growth in the adoption of this language. And I know that many issues looking for a solution in DAX would find a better, simpler, and faster solution with a proper data model. Marco Russo, SQLBI
Honestly, it would be better to be a good data modeler and a mediocre DAX author than a DAX guru but a poor data modeler. Marco Russo, X
Other books, mentioned in this post: