Forum Discussion
DAX formula execution
Are DAX measures\calculated column executed by Mashup engine of Power BI desktop or the analysis server instance or both?
You query Analysis Services/ tabular model using DAX or MDX, and then the query is executed using the Formula engine, FE generates a logical query plan and to retrieve the data it sends a part of the request to Storage engine / Vertipaq, SE stores the data in memory and then returns the uncompressed data to FE on the basis of the query executed. So, no DAX has nothing to do with M both work independently, but where you create a column has an impact on the compression of the data, if a column is created in M then during loading to the model the engine uses that column as the part of optimization process identifying the kind of encoding to use to store the data in conjunction with other columns, but when you create a calculated column the data has already been analyzed and compressed by engine, but that doesn't mean your new DAX calculated column won't be compressed, it will be encoded but that process wouldn't consider other columns of the table during compression which can reduce the compression.
4 Replies
- AntrikshSharmaCommunity Champion
You query Analysis Services/ tabular model using DAX or MDX, and then the query is executed using the Formula engine, FE generates a logical query plan and to retrieve the data it sends a part of the request to Storage engine / Vertipaq, SE stores the data in memory and then returns the uncompressed data to FE on the basis of the query executed. So, no DAX has nothing to do with M both work independently, but where you create a column has an impact on the compression of the data, if a column is created in M then during loading to the model the engine uses that column as the part of optimization process identifying the kind of encoding to use to store the data in conjunction with other columns, but when you create a calculated column the data has already been analyzed and compressed by engine, but that doesn't mean your new DAX calculated column won't be compressed, it will be encoded but that process wouldn't consider other columns of the table during compression which can reduce the compression.
- AnonymousNot applicable
Thank you for the quic kreply.
Are my below understaning correct, i got a conflicting aswer from PBI support that DAX is executed by mashup enfine hence posted this is community forum to confirm.
Mashup engine is in action when the report(dataset) is getting refreshed in power bi service\gateway\desktop. Else it sits idle?When a slicer is selected on the report page, the data is fetched from Analysis server and Mashup engine does nothing, the processing is done by formula\storage engine which is not part of mashup?
- AntrikshSharmaCommunity ChampionYes, that is correct understanding can you please share their response link, if it is public, I would like to read what they meant by that.