SQLBI Methodology
The SQLBI Methodology defines architecture and implementation of advanced BI solutions using Microsoft SQL Server, SQL Server Analysis Services and – more generally – the Microsoft suite for Business...
View ArticleKEEPFILTERS: a new DAX feature to correctly compute over arbitrary shaped sets
Having read this question on the mdsn blogs, I investigated on the KEEPFILTERS function and, after having learned it, it is now time to write about it. Moreover, before start to write about it, I need...
View ArticleCreating a copy of a BISM Tabular project
Using Visual Studio to author SSAS Multidimensional projects, I was used to copy the project, deploy it with another name and then proceed with updates, until I was satisfied with the final result....
View ArticleThe Many-to-Many Revolution 2.0
SQL Server Analysis Services introduced modeling many-to-many relationships between dimensions in version 2005. At a first glance, we may tend to underestimate the importance of this feature: after...
View ArticleVideos available from SQLBits
We presented a few session at SQLBits and the video of these sessions are available. This is the list of sessions available from SQLBits 8 and SQLBits 9 – just click the link on the title and jump to...
View ArticleUnderstanding Circular Dependencies in Tabular and PowerPivot
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...
View ArticleClever 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...
View ArticleVertiPaq 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...
View ArticleUnderstanding 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. The paper is divided in...
View ArticleUnderstanding 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...
View ArticleUsing Tabular Models in a Large-scale Commercial Solution
Analysis Services Tabular can be used in large-scale solutions and SQLBI already helped several companies in the challenging effort of defining a reliable and scalable architecture, designing the right...
View ArticleRolling 12 Months Average in DAX
Computing the rolling 12-month average in DAX looks like a simple task, but it hides some complexity. This article explains how to write the best formula avoiding common pitfalls using time...
View ArticleDIVIDE Performance
The DIVIDE function in DAX is usually faster to avoid division-by-zero errors than the simple division operator. However, there are exceptions to this rule, described in this article through a simple...
View ArticleAutoExist and Normalization
The autoexist feature used by MDX queries sent to an Analysis Services or Power Pivot data models can have different behaviors depending on the normalization level. This article describes these...
View ArticleAll the secrets of SUMMARIZE
SUMMARIZE is a function that looks quite simple, but its functionality hides some secrets that might surprise even seasoned DAX coders. In this article, we analyze the behavior of SUMMARIZE, in order...
View ArticleVariables in DAX
In this article, you learn a new feature in DAX 2015: variables. The 2015 version of the DAX language has many new functions, but none of them is a game changer for the language as variables are....
View ArticleUnderstanding ALLSELECTED
ALLSELECTED looks like a special function that is able to understand what the user selected in the pivot table, retrieving the original filter context under which the pivot table is running. However,...
View ArticleRow Context and Filter Context in DAX
Understanding the difference between row context and filter context is important to use DAX correctly. This article introduces you to these two concepts. Row Context DAX expressions operate on columns,...
View ArticleUnderstanding Context Transition
The context transition in DAX is the transformation of row contexts into an equivalent filter context performed by CALCULATE and CALCULATETABLE. Managing this behavior is the next step in learning DAX...
View ArticleTransition Matrix Using Calculated Tables
In the 2015 September update, Power BI introduced calculated tables, which are computed using DAX expressions instead of being loaded from a data source. This article shows the usage of calculated...
View Article
More Pages to Explore .....