Microsoft Power BI Cookbook
上QQ阅读APP看书,第一时间看更新

Limitations of query folding

  • No folding will take place once a native SQL query has been passed to the source system. For example, passing a SQL query directly through the Get Data dialog. The following query, specified in the Get Data dialog, is included in the Source step:
Figure 14: Providing a user defined native SQL query
  • Any transformations applied after this native query will use local system resources. Therefore, the general implication for query development with native or user-defined SQL queries is that if they're used, try to include all required transformations (that is, joins and derived columns), or use them to utilize an important feature of the source database not being utilized by the folded query, such as an index.
  • Not all data sources support query folding, such as text and Excel files.
  • Not all transformations available in the Query Editor or via M functions directly are supported by some data sources.
  • The privacy levels defined for the data sources will also impact whether folding is used or not.
  • SQL statements are not parsed before they're sent to the source system.
  • The Table.Buffer() function can be used to avoid query folding. The table output of this function is loaded into local memory and transformations against it will remain local.