Marco Russo's Blog posts of 2018
What 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… Read more
DAX 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… Read more
DAX 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 official documentation: Read more
Dates 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 a comment today I realized… Read more
The 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 explain in this blog post where I suggest using CALCULATE and… Read more
Smart Filter Pro Preview
Today we start the preview of Smart Filter Pro. This is the first commercial custom visual produced by OKViz and it will be in preview until the end of 2018. Read more
Correct calculate of age in DAX from birthday
UPDATE 2019-10-18 Because of a bug in YEARFRAC function described in the original blog post and reported by Dominik Petri (thanks!), there are cases where the previous solution does not work well. Moreoever, YEARFRAC is not that fast, so a… Read more
How to write DISTINCTCOUNTX in DAX
I received a question about how to implement the equivalent of a DISTINCTCOUNTX function in DAX. Well, such a function doesn’t exist in DAX, but imagine you want to write something like: The corresponding measure working in DAX is: In… Read more
Change culture/collation of an Analysis Services Tabular database
When you create a Tabular model for Analysis Services, the Culture and Collation properties are set automatically and cannot be changed by the SSDT user interface in Visual Studio. The biggest issue is the workspace database, because these properties cannot… Read more
Time intelligence issues in DAX for fiscal years starting in March
If you have a fiscal year starting in March, you can have a problem using the time intelligence functions in DAX. For example, by using February 28, the fiscal year starts on February 29th in leap years. By using February… Read more