Applying a measure filter in Power BI
This article describes how to use a measure to filter a Power BI visualization, and the different behaviors of a same filter between different visuals. Every visualization in Power BI has a Visual...
View ArticleThe hidden secrets of TOTALYTD
DAX has many time intelligence functions that are often redundant, offering different shorter syntaxes for longer more generic functions. However, sometimes the shorter syntax could be dangerous, as I...
View ArticleSide effects of the Sort By Column setting in DAX
The Sort By Column feature in Power BI causes side effects that are important to know when writing a DAX formula. This article explains these side effects and how to write correct DAX code to avoid...
View ArticleDates differences between Excel and DAX
DAX supports dates starting in 1900 and while teaching DAX I always explain that DAX manages dates like Excel, which is the reason why these limitations exist. Actually, this is true – but answering to...
View ArticleDAX Studio and Power BI diagnostic port
DAX Studio connects to a Power BI Desktop model using a technique that was not officially supported until a few months ago. This changed when the “diagnostic port” was documented in this article of the...
View ArticleTime intelligence in Microsoft Power BI
Every Microsoft Power BI model has dates and the need for calculation over dates to aggregate and compare data, like year-to-date, same period last year, moving average, and so on. Quick measures and...
View ArticleOptimizing nested iterators in DAX
This article describes how to consider possible optimization approaches to improve performance of nested iterators in DAX. One of the possible causes of slow performance in DAX is the presence of...
View ArticlePower BI DAX optimization examples
How can you optimize your DAX expressions? In this session, we’ll analyze DAX expressions and Tabular models, then utilize DAX Studio and the VertiPaq model to explore how to optimize them. While most...
View ArticleOptimizing DAX with cardinality estimation: computing working days
Estimating the cardinality of iterators is an important skill when optimizing DAX code. This article explains how to use this technique, evaluating different ways of computing the number of working...
View ArticleDAX Guide – the reference I had been wanting
If you have read the book Alberto and I wrote, “The Definitive Guide to DAX” then by looking at the title you might think that this post is about the book. Not this time. I am talking about the new...
View ArticleUnderstanding DAX Auto-Exist
This article describes the behavior of auto-exist in DAX, explaining the side effects of combining slicers on columns of the same table in Power BI. Auto-exist is a technology built into DAX with the...
View ArticleDisplaying Nth Element in DAX
This article describes how to create a measure displaying the name or value of an element that has a specific ranking, with different option for managing ties. The visual filters of Power BI visuals...
View ArticleOptimizing IF and SWITCH expressions using variables
This article describes how variables should be used in DAX expressions involving IF and SWITCH statements in order to improve performance. In DAX, variables are useful to write more readable code....
View ArticleShowing actuals and forecasts in the same chart with Power BI
In budgeting reports, a common requirement is to show future sales forecast and actual sales volume on the same line chart. This article describes how to achieve this goal using DAX. The data model...
View ArticleImproving temporal line charts in Power BI with DAX
This article shows how to improve line charts with a date-based X-Axis in Power BI using DAX, and how to make correct choices in the data modeling and visualization properties. The line charts in Power...
View ArticleUnderstanding numeric data type conversions in DAX
This article describes how DAX automatically converts data types in arithmetic operations. These small details can cause and explain differences in results when using the same operations in other...
View ArticleBidirectional relationships and ambiguity in DAX
Activating bidirectional cross-filter in a Tabular data model might create ambiguous paths in the chain of relationships, resulting in very dangerous models as numbers become unpredictable. This...
View ArticleDisplaying a list of selected months
Today I woke up with an interesting question, about how to show a selection of months in a nice way, detecting contiguous selection. You can easily understand the desired solution from the following...
View ArticleWhat has happened in the DAX world in 2018
We are approaching the end of 2018, so it is a good time to review what happened in the DAX world this year, what we’ve been up to at SQLBI and what is going to happen in 2019. New DAX functions in...
View ArticleUnderstanding the data lineage in DAX
Data lineage is a DAX feature so well-implemented that most developers use it without knowing about its existence. This article describes the data lineage and how it can help producing better DAX code....
View Article