Power BI Book Update
Yesterday I submitted Chapter 3 of the Power BI book mentioned about five weeks ago. Per that post this project is my primary focus through completion in September and limits everything else including blog posts.
As this is my first book and considering some of the great content and authors out there I must say it’s a bit of a daunting task. Writing a good blog post or delivering a technical presentation and demo isn’t necessarily easy but producing something worthy of publication and someone’s money requires a different level of thought and effort.
This said, I’m very pleased with the progress and experience thus far. Chapters 2 and 3 contain some of the very best work of my career and several ideas I’ve wanted to write about and implement in projects. The main challenge I’m finding is the balance between theory and examples given the target page count. Ultimately the book is intended to be actionable so I can’t go as deep into ‘lazy evaluation’, ‘query folding’, and other concepts but I can give you an example (hopefully a very interesting and realistic one) and point you to a good resource to learn the theory.
Naturally there is some overlap with well publicized patterns (customer activity, many-to-many) and Power BI features but I believe, by merely skimming chapters 2 and 3 alone, you’ll see new approaches to common issues as well as new analysis patterns and designs that you can use in Power BI or with other MSBI tools for some time to come.
Power BI Training
I get approached somewhat regularly with invites to lead ‘deep dives’, ‘workshops’, and ‘boot camp’ training sessions. I turn them all down because of the book primarily but also because, almost invariably, they just want a quick shortcut to a particular end state (e.g. a dashboard), a single problem solved, or something to get stakeholders excited. They’re not genuinely interested in a thorough review of the technology. And by ‘technology’ I specifically mean the M and DAX languages (types, functions, syntax, etc) coupled with Tabular and dimensional modeling techniques.
Clearly you can do valuable, even great things in Power BI without knowing the languages. My point in bringing this up is just that there are no shortcuts and BI teams with backgrounds in other technologies are fooling themselves if they think these expensive 3-5 day training sessions are going to ‘get them up to speed’ or that they won’t need these skills.
If your Power BI training doesn’t go deep into the DirectQuery vs. Import mode question, doesn’t write out M expressions (not the GUI), doesn’t discuss tuning DAX or tabular models, doesn’t talk deeply about gateway scalability (if you’re on premises), doesn’t go into advanced analytics and R, doesn’t write out DAX variables, table and query expressions, explain row context vs filter context or complex modeling scenarios then it’s just NOT that much of a deep dive. I’d recommend you ask for a discount for the intermediate level training you’re being offered. Don’t be tricked by flashy titles or experience in other tools – ask to see real Power BI code and hear detailed technical explanations on the topics that matter.
Quick Measures and Add Column by Example
As you likely know, the April release of Power BI Desktop included Quick Measures and Add Column by Example features. You can now use a GUI to create common DAX measures and a GUI to add columns to your M queries based on the examples you provide. These are great features that will help move Power BI projects forward faster, keep users more engaged, and overall create a bigger pool of data models.
What they will not do, even with future enhancements in my view, is diminish the value of DAX and M development skills. A skilled DAX developer doesn’t think in terms of ‘Quick Measures’ and a skilled M query developer doesn’t think or work with individual queries in isolation. You can’t create a user friendly GUI that supports the level of abstraction these developers operate at or exposes the richness of these languages. These are very good self-service features but let’s not get carried away.
*When chapter 2 wrapped up I took a half day off and visited the Maine coast: