Query Plans

Every DAX query generates query plans describing operations performed by the xVelocity (VertiPaq) engine. This page contains documents and resources enabling you to read these query plans and use such information to optimize your DAX queries.


How to compute index numbers at top speed

This article presents different techniques to compute a rownumber column in DAX based on a specific ranking, comparing slow and optimized approaches.


Optimizing & Analyzing DAX Query Plans

DAX is super-fast, you can use it to query billions of rows in less than one second. End of marketing, now let’s go back to the real world. If your query is not performing as advertised, it is time to dive into the details of optimizations, which means catching the


DIVIDE 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 performance analysis.


Using 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 data model and optimizing the queries. One of these stories is now a case study published as a Microsoft White Paper.


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.