THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

SQLBI - Marco Russo

SQLBI is a blog dedicated to building Business Intelligence solutions with SQL Server.
You can follow me on Twitter: @marcorus

New edition of the Analysis Services Tabular book #ssas #tabular

Last year I and Alberto Ferrari wrote a new edition of the Analysis Services Tabular book, which official title is Tabular Modeling in SQL Server Analysis Services (2nd Edition). Some delay in editing and production delayed the printing, but the book is finally available, so I can present it with a dedicated blog post, explaining its goals and contents, so you can evaluate whether it could be interesting for you.

First of all, this is the second edition of the book we wrote with Chris Webb a few years ago for Analysis Services 2012. Several chapters did not require particular changes, and even if we updated many parts of these chapters to the new version, a great thank you goes to Chris, who allowed us to base our work on his content, too. For an unfortunate series of events and crossing edits, we didn’t include Chris in the acknowledgments of the book, so this blog post is just a first attempt to publicly address that – forgive me, Chris!

Compared with the previous edition, we removed all the chapters about DAX, keeping only a small introduction of this language, because we have an entire book dedicated to it! This choice provided us additional time to cover other topics in more detail. We covered only the compatibility level 1200 in this new book, so if you have to develop a model using the model 1100 or 1103, you probably will find a better reference in the previous edition.

This is the list of the chapters of this book, followed by a small comment of the main changes made in this edition.

CHAPTER 1 Introducing the tabular model
CHAPTER 2 Getting started with the tabular model
CHAPTER 3 Loading data inside Tabular
CHAPTER 4 Introducing calculations in DAX
CHAPTER 5 Building hierarchies
CHAPTER 6 Data modeling in Tabular
CHAPTER 7 Tabular Model Scripting Language (TMSL)
CHAPTER 8 The tabular presentation layer
CHAPTER 9 Using DirectQuery
CHAPTER 10 Security
CHAPTER 11 Processing and partitioning tabular models
CHAPTER 12 Inside VertiPaq
CHAPTER 13 Interfacing with Tabular
CHAPTER 14 Monitoring and tuning a Tabular service
CHAPTER 15 Optimizing tabular models
CHAPTER 16 Choosing hardware and virtualization

The introduction has the same structure of the first chapter in the previous edition, and it covers the architecture of Analysis Services Tabular and its role in the Microsoft BI platform. Power BI was not even in the plans when we wrote the first edition, so you can imagine this was not just a simple search and replace of version numbers, many things changed since 2012.
The chapter 4 is similar to the DAX Basics of the previous edition, but we updated a few details about the syntax, providing the foundation to write very simple calculations. This is the only chapter dedicated to DAX in this new book.

The chapter 5 about hierarchies and the chapter 6 about data modeling were present also in the previous edition. The chapter 7 is brand new chapter about the Tabular Scripting Model Language. Beside the technical information, I think that this chapter is useful to clarify the role of TMSL in the new compatibility level (1200). The chapter 8 has been updated considering Power BI as the main client tool for Tabular, instead of Power View (which was the reference in 2012).

The chapter 9 about DirectQuery has been completely rewritten, and we also wrote a separate whitepaper about DirectQuery that complements the content of this chapter in the book.

The chapters 10-11-12 have been updated (considering also relationships with bidirectional filters) describing security, processing, partitioning, and VertiPaq internals. In particular, the VertiPaq chapter has many more details that will help you also in troubleshooting and optimization.

The chapter 13 is another chapter that has been written from scratch, because the previous APIs are no longer available, and a new (better but different) one is now the reference library for PowerShell and C# scripts.

The chapter 14 is an update of the chapter present also in the previous edition, whereas chapters 15 and 16 provide more space to topics (optimization of large structure and hardware/virtualization selections) that were cited in the previous edition very shortly, without the insights that you will find in this edition

I hope you will enjoy this book!

Published Wednesday, April 26, 2017 10:23 AM by Marco Russo (SQLBI)

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



vanessa said:

what every ex dimensional modeller needs no doubt!

May 2, 2017 2:42 PM

Paul Turley said:

I just bought my copy.  Thank you once again, M & A.  Like your previous books, I'm certain that it is an invaluable resource.

May 3, 2017 12:39 AM

Marco Russo (SQLBI) said:

Vanessa - Paul: thanks!!

May 4, 2017 10:58 PM

Sita said:

Hi Marco,

I am new to DAX but good in MDX. The way we do calculate member is it possible in DAX. My situation is something like this. Rather than creating individual YOY, MTD, QOQ, QTD for each measure I want to have a dimension like time intelligence and all members will be YOY, MTD,QOQ and QTD. So that any measure I will slice with the dimension it will work. I no need to write same formula for individual measures.

Generally in SSAS i build something like that and created one scope to work with all measures.

Could you please guide me what will be best design to implement in DAX?



February 9, 2018 1:12 PM

Marco Russo (SQLBI) said:

You can see an example here:

However, I suggest you to *not* use that technique and wait that MS implements in DAX something better. The problem is performance.

February 12, 2018 12:14 AM

Leave a Comment


About Marco Russo (SQLBI)

Marco Russo is a consultant, writer and trainer specialized in Business Intelligence with Microsoft technologies. He runs the SQLBI.COM website, which is dedicated to distribute resources useful for BI developers, like Integration Services components, Analysis Services models, tools, technical information and so on. Marco is certified as MCT, MCDBA, MCSD.NET, MCSA, MCSE+I.

This Blog



Privacy Statement