Understanding Distinct Count in DAX Query Plans


Distinct Count calculations in DAX are very fast compared to other engines. But when you have a large number of values, performance might be different depending on the query you write. This paper investigates different techniques that produce the same result with different performance, showing that you need to make


Understanding DAX Query Plans


Understanding DAX query plans is a long process. This paper explains how to capture and read a DAX query plan, helping you to find possible optimizations of your DAX queries.

Organizing Measures and Attributes in Folders with Tabular


When you create a Tabular model in Microsoft SQL Server Analysis Services (SSAS), you have to define all of the measures that the user will be able to use. All the measures defined in the measure grid of a table are displayed within a measure group having the same name

Usage of dates argument in a row context

NumDays and NumLastDay

Several Time Intelligence functions in DAX use a <dates> argument, which has a special behavior because it can be expressed by using both a column reference syntax, a table expression or a Boolean expression.


VertiPaq vs ColumnStore Comparison


SQL 2012 gives you two different xVelocity engines, with different capabilities and different scenarios of implementation, the paper will help you choose the right one or, at least, raise your curiosity about performing more tests on your specific scenario.

Order of Evaluation in CALCULATE Parameters

DAX is the new language used by PowerPivot and Analysis Services in Tabular mode and it resembles the syntax of Excel formula and it can be considered a functional language. You do not have iterative statements, but you can run iterative functions like, for example, SUMX and FILTER. The most

Clever Hierarchy Handling in DAX


Hierarchy handling in DAX is not very easy, due to the fact that hierarchies, unlike it was in MDX, are not first-class citizens in the DAX world. While hierarchies can be easily defined in the data model, there are no DAX functions that let you access, for example, the parent

Budget and Other Data at Different Granularities in PowerPivot

Product table

PowerPivot and BISM Tabular handle relationships between tables by using a single column that requires to be a unique column in the lookup table. In this article you will see how to handle relationships between tables that have different granularities, which is a typical scenario whenever you have a monthly

Execute DAX queries through OLE DB and ADOMD.NET

If you want to execute a DAX query from your code to a Tabular model, you might think that an OLE DB connection should be the right way to get your data. It works, but if you your code is written in .NET a better solution is using the ADOMD.NET

Understanding Circular Dependencies in Tabular and PowerPivot

Circular Dependency Error

When you design a data model for Tabular you should pay attention to a though topic, which is that of circular dependencies in formulas. It is very important to learn how to handle circular dependencies now because in SQL 2012 (and in PowerPivot 2012) there will be a stronger validation