The popularity of Power BI has increased dramatically in the past few years. I am seeing an increasing number of enterprise customers who built complex composite models combining import tables with DirectQuery tables. Many users have asked questions on how DAX queries and measures are translated into remote SQL/MDX/DAX queries. To the surprise of a lot of people who have a SQL background, the semantics of DAX queries is very different from that of SQL queries even though both are used to produce the right data for the same visualizations. I am going to explain why the semantics of DAX queries poses unique challenges to DAX engine and how the latter employs myriads of optimizations to deliver good query performance in common scenarios. I am also going to explain how the semantics of DAX queries complicates query generations for composite models, demonstrate some of the issues most frequently encountered by the composite model users, and describe design principles to avoid the pitfalls.
GUEST BIO 📄
Jeffrey joined Microsoft SQL Server Analysis Services team in 2004 and contributed to the revolutionary transformation of Microsoft BI from multi-dimensional model and MDX language to tabular model and DAX language. He was one of the inventors of the DAX programming language in 2009 and have been driving the evolution of the DAX language ever since. Currently he is an engineering manager focusing on the development of DAX engine, query optimizer, DirectQuery, composite models, etc. Right now his team is putting the finishing touches on the GA of DirectQuery to PowerBI datasets.