As preparation for my session at Techorama.be about data modeling in self-service BI, I decided to read the book Analyzing Data with Microsoft Power BI and Power Pivot for Excel by Marco Russo and Alberto Ferrari. The title is quite a mouthful but it gets the point across: the book mostly deals with how to correctly build a model so you can analyze your data without building enormously complex queries. In fact, you can summarize the book in a few words: “Star schema all the things” (no really, that’s the main take-away).
As the title also makes clear, this book is based on the Microsoft Data Platform and more specifically with the self-service tools Power BI Desktop or Power Pivot (which are the same except Power Pivot doesn’t have all those shiny new features). However, almost everything you learn in this book can also be applied to Analysis Services Tabular and Azure Analysis Services. And if you just look at the concepts and forget about the DAX code and the bi-directional filters and everything, you can also apply that knowledge to Analysis Services Multidimensional. But it’s mostly geared towards people working in Power BI Desktop who aren’t BI professionals.
The book gives a good overview of all the basics of data modeling for analytics: why you need facts and dimensions, multiple fact tables, granularity, many-to-many relationships, snapshot tables and so on.
Personally, I loved the book. It’s a very easy read and since I already know a bit about data modeling it was a nice remainder of the concepts (and it’s good to have confirmation of certain practices). I also learned a few tips here and there. It’s a nice addition to the library and I’ll possibly use it as a reference book from here on now (especially the chapter about fact tables with different granularities). The people who will learn the most though are probably business analysts, people working in Excel who are looking to improve their skills or people just starting out in BI. However, even seasoned professionals will probably pick something up from this book.
In the introduction of the book, the authors literally state: “One topic that we intentionally do not cover in the book is the DAX language”. And it’s true, they don’t really explain the DAX language (you have the Definitive Guide to DAX to cover it) but boy, is there a lot of DAX in this book. For people without a technical background, I can imagine all that DAX can be intimidating. Luckily, most of the complex DAX falls into the category “look at how awfully complex this piece of DAX code is, all because the model isn’t build correctly”. And then they show some really easy DAX formula when the model has been built correctly. I thought the chapters on time intelligence and time intervals might be a bit too DAX heavy for this type of book. But they do show interesting concepts, so maybe for a second read of the book?
Conclusion
Definitely a must-read for everyone who wants to create their own models in Power BI Desktop (or other tools). For some people, the DAX can be hard to swallow, but you can look past the code and just focus on the concepts. If you need a more product independent take on data modeling, you might want to try Kimball or my favorite Star Schema – The Complete Reference.
I was asked to do a review of the book Microsoft Power BI Performance Best…
This is a quick blog post, mainly so I have the code available if I…
Praise whatever deity you believe in, because it's finally here, a tenant switcher for Microsoft…
This book was making its rounds on social media, and the concept seems interesting enough…
I'm hosting a free webinar at MSSQLTips.com at the 19th of December 2024, 6PM UTC.…
The slides and scripts for my session "Tackling the Gaps & Islands Problem with T-SQL…
View Comments
Agree with this assessment. It cracks me up that there are people out there that think Star Schemas aren't even relevant anymore (the whole "Hadoop panacea" set of practitioners). The fact is that as long as there are a ton of client tools on the market that operate best in a star schema, they will be very relevant.