Book Review: Extreme Dax (2nd Edition)

Book Review: Extreme Dax (2nd Edition)

I recently received a review copy of Extreme DAX: Take your Power BI and Fabric analytics skills to the next level by Michiel Rozema, Madzy Stikkelorum, and Henk Vlootman from my friends at PackT.

Authors

Michiel Rozema is a long-term IT industry veteran. He was the data insight lead at Microsoft Netherlands and launched Power BI in the country. Michiel works as a data analyst and architect for his company Qanto. He is a fellow Data Platform MVP.

Madzy Stikkelorum works with Michiel at Qanto. She has written on DAX and speaks at international conferences.

Henk Vlootman runs the consultancy firm Qanto with Michiel. Originally working with Excel, he moved his focus to BI and data analytics when he saw Power Pivot. He now specializes in Power BI and Fabric, is a founder of the Dutch Power BI user group, and is another fellow Data Platform MVP.

It’s also worth calling out Terence Brown and Jeffrey Wang who were reviewers for this book. Jeffrey was a co-inventor of DAX. Both are well-positioned to be technical reviewers for the content.

Content

DAX is a curious language. I often tell students that even those of us who have worked with it ever since it first appeared, still dabble with it. I know only a handful of people who really think in it.

For that reason, what most people need isn’t detailed coverage of the rules of the language. Instead, they need to understand how experts think about solving problems with DAX. I’ve always said I like cookbook style books on languages like DAX, and before it, MDX.

I like the way that this book shows you how real problems are solved.

Keep in mind though, that DAX is often only one way to solve many problems. So often, the problem is better solved upstream before the data gets to where you’re using DAX. I’m often telling clients that if you find yourself struggling to write complex DAX, it probably means that your underlying data model isn’t very good. If you fixed the data model, the DAX required becomes simpler.

And given how DAX is still evolving, I particularly liked seeing how up to date the coverage of the DAX language in the book is. A good example is the content on time intelligence that covers defining custom calendars, and content on calculation groups. But I think the best example is the number of places where examples that I remember seeing in the first edition are now implemented very differently in this second edition.

One challenge with up to date content is that it often depends on the use of preview features, and the authors call this out in places. This book also helps you to follow along by providing downloadable example code files.

Performance isn’t ignored either. There is good content on using performance analyzer and how DAX queries interact with populating report visuals, along with a detailed discussion on how to use window functions for benchmarking.

The book is very readable. This is always a tribute to any group of authors, but particularly those for whom I presume English is not their native language.

Some different ideas

With any book that covers aspects of data modelling, there are always things I see where my reaction is that I wouldn’t do it that way and there are some in this book. They aren’t wrong, but I’d rather see it done differently.

An example is a model that had a Date table, but also had Customers, Products, and Cities tables. Note the last three are plural and the first one is singular. There was also a table called fSales. I’m not a fan of prefixes. (And the same applies to those who use Dim and Fact as table prefixes). Similarly, there are columns with names like InvoiceDate (no space) but also columns with names like Month Name (with a space).

I prefer everything to be human readable, and ready to be used in reports, etc. without needing to rename everything. But that’s just me. Not everyone agrees. And even the DAX language is frustrating in that regard, with reserved words like ISCROSSFILTERED and USERPRINCIPALNAME where they just string together many words, without an underscore or anything to separate them. Mind you, the SQL Server team is worse on that as they sometimes separate them, and other times don’t.

These are minor comments in relation to this book though, and DAX is the primary topic, not data modelling.

Summary

Overall, this is an excellent book. It isn’t for beginners. It assumes you have some background with using DAX. Even better if you’ve been trying to use DAX but become frustrated. I particularly liked the practical nature of the content, compared to books that target more theoretical topics. It focusses on how and why more than on what.

The coverage of how to use the language is really detailed, easy to follow, and up to date. You can’t ask for much more in a book.

9 out of 10

2026-06-01