Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

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

  • AntrikshSharma's avatar
    AntrikshSharma
    Community 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.

    • Anonymous's avatar
      Anonymous
      Not 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?

      • AntrikshSharma's avatar
        AntrikshSharma
        Community Champion
        Yes, 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.