Book Review: Microsoft Power BI Cookbook

Book Review: Microsoft Power BI Cookbook

I recently received another eBook for review from our friends at PackT. This time it was an early release copy of the Third Edition of the Microsoft Power BI Cookbook by Greg Deckler and Brett Powell.

Cookbook Style?

I’m a fan of books written in a cookbook style, rather than a teaching style. Often, people already know the basics and just want to get prompted on how to do specific tasks.

What did surprise me is how much of a teaching style is used in the book. That’s not necessarily a bad thing; it’s just different to what I was imagining it would be.

Core Content - Tools

I liked the way the installing chapter encourages the user to install associated tools and not just Power BI Desktop. Without that, people are endlessly just building reports from spreadsheets, etc. and that’s not realistic. They need to learn to create reports from other sources.

I particularly liked seeing Darren Gosbell’s DAX Studio in there, as it’s such a useful tool. ALM Toolkit and Tabular Editor are also described.

Core Content - Working with Data

Licensing is a tricky topic to include. The Power BI Premium discussion is already overtaken by Microsoft signalling they won’t sell these licenses in future, only Microsoft Fabric licenses. It’s a constantly moving target, which makes it hard to discuss in a book.

I understand why they ended up with SQL queries embedded directly into the reports, but I’m not a fan of doing that at all. It makes database maintenance far too hard, and fragile, as the people making database changes have no visibility into the queries being executed.

Right now, I don’t think we should be encouraging people to create dataflows in Power BI, given product directions. The same applies to datamarts (which fortunately seemed to be omitted). In addition, while it’s nice to be able to use a single language like M, transformations scale far better in data warehouses than they do in Power Query. I was pleased to see this being called out in the book.

The discussion on transformations with Power Query is well presented. I loved seeing a section on extending the M library, and also loved some of the callouts about data quality.

Custom columns are another aspect of transformations that I wish the reader was discouraged from using, with a view to pushing the creation of those “left”. I can’t tell you how often we see performance problems that are resolved by removing widespread use of custom columns.

It was great to see a separate discussion on data profiling. This is a critical skill that is often overlooked in these types of books.

The optimization areas are good. I would like to have seen content on using the Vertipaq Analyzer options in DAX Studio, as we find them critical when working to improve models.

Core Content - Semantic Models

DAX is an interesting aspect and gets good introductory coverage here. It’s worth noting that every time I see people writing complex DAX, the issue is the semantic model hasn’t been designed well. Most of my clients never need to write complex DAX. I’m not saying it never happens, but if you find yourself writing complex DAX, you need to consider if the design of your model is letting you down.

A similar thing happens with Row Level Security (RLS). If you are finding it really hard to get RLS to flow correctly, it’s usually the model at fault.

Given they are now deprecated, I would have avoided going into details on streaming semantic models. The book should steer people away from them, and towards the options in Fabric.

I liked the fact (no pun intended) that Date Intelligence was covered in a separate chapter. I differ completely on how I handle Dates in my models, but I understand the position of the authors. And I really don’t like the built-in AutoDate concepts in Power BI. I think they were a mistake.

I don’t like to get stuck on issues around naming, but I will just point out that there was a mix of singular and plural names, and some of the names that are plural in nature are set names. There is also a mix of names with spaces in them, and others without. I don’t do either of those. For example, I would not have “Sales Forecast” as a table in a model with “Sales Territories”. Or have “OrderDate” in a table called “Internet Sales”.

Core Content - Report Building

I really liked the sections on report building. There is solid advice there, particularly on making them more useful.

The section on dashboards is good, but I’m at two minds on the usefulness of these now. The trend I’ve seen at most customer sites now is to avoid creating dashboards.

I really liked the discussion around context and dynamic visibility, and I loved seeing content around custom visuals and ArcGIS maps. Both of these topics are often ignored in similar books. I similarly liked seeing the content on AI integration and detail on statistical analysis.

Summary

Overall, this is a really good book that covers the topics admirably. The authors have clearly spent enough time “in the trenches” to offer great perspectives on how they work.

The content on Fabric at the end provided a very brief introduction. That’s fine, given the book is on Power BI, but it did feel a bit “tacked on”.

The other aspect I like to have seen mention of is Data Factory. It’s a core part of most of our Power BI related projects. At the very least, something has to schedule when things happen.

Recommended ! 8 out of 10

2024-08-03