Power BI dataflows and query folding

Important: This post was written and published in 2019, and the content below may no longer represent the current capabilities of Power BI. Please consider this post to be an historical record and not a technical resource. All content on this site is the personal output of the author and not an official resource from Microsoft.

In a recent post I mentioned an approach for working around the import-only nature of Power BI dataflows as a data source in Power BI Desktop, and in an older post I shared information about the enhanced compute engine that’s currently available in preview.

Image by Chris Martin from Pixabay

Some recent conversations have led me to believe that I should summarize a few points about dataflows and query folding, because these existing posts don’t make them easy to find and understand.

  1. When accessing dataflow entities from Power BI Desktop, no query folding takes place, even if the enhanced compute engine is enabled.
  2. When accessing dataflow entities from other entities in the Power BI service, no query folding takes place unless the enhanced compute engine enabled.
  3. When accessing dataflow entities from other entities in the Power BI service, query folding will take place when the enhanced compute engine is enabled, because the linked entity’s query will be executed against the cached data in SQL, rather than the underlying CDM folder.

These three statements summarize how query folding works – or does not work – in Power BI dataflows today.

The Power BI team has discussed some of their plans for the enhanced compute engine, so this should change in the future [1] but as of today, the only dataflows scenario where query folding takes place is when a dataflow is backed by the enhanced compute engine is referenced by a linked entity.

I hope this helps clarify things, at least a little…

[1] I think this will be around the time the engine goes GA, but I don’t remember for sure, and I’m too lazy to re-watch the MBAS session to double check. If you watch it and let me know, I’ll gladly update this post with the details.

7 thoughts on “Power BI dataflows and query folding

  1. Hmmm. Doesn’t linked entities between workspace requires to be mentioned separately. This since a linked entity from another workspace will not automatically be refreshed when the source entity is refreshed.
    I can see two scenarios. 1) Query folding is not enabled since the SQL database is just temporary, or 2) The SQL database is none volatile and will be available whenever the linked entity in the other workspace decides to refresh.

    It would be great if (2) is the correct alternative since this in the end will enable query folding to take place even from Power BI Desktop.


  2. Andrew Sitz

    The mention of DQ in Power BI Cached Dataflows in the video referenced is to be initially available (probably preview) in October, but I cannot find any update on this in the release notes anywhere (https://docs.microsoft.com/en-us/power-platform-release-plan/2019wave2/cdm-data-integration/planned-features). Also, is there any clarification if this will only work if using your own Azure storage, or is it possible for this to exist in Premium capacities that store in their own tenant’s capacity?


  3. Pingback: Query Folding with Power BI Dataflows – Curated SQL

  4. Pingback: Power BIte: Dataflows enhanced compute engine – BI Polar

  5. Pingback: Dataflows enhanced compute engine – will it fold? – BI Polar

  6. Pingback: What are the options when a Power BI report is slow? – Power BI Performance Guide - Self-Service Business Intelligence

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s