我有一个从 SQL Server 提取的 Power BI 报告,由于数据拉取大,需要设置增量刷新。由于负载相当复杂(并且 PQuery 编辑器很乏味并且经常中断折叠),我需要使用 SQL 查询(在 PBI 中也称为“本机查询”),同时保留查询折叠(以便增量刷新工作)。
我一直在用好...
Value.NativeQuery( Source, query, null, [EnableFolding = true])
......在这里找到了让它工作的技巧。
但它似乎只有在本机查询完成得相当快的情况下才有效。当我的 WHERE 子句只提取今年的数据时,没问题。当我删除 WHERE 子句中的日期过滤器时(以免与增量刷新过滤器冲突),或者只是将年份向后推,似乎需要更长的时间才能导致 PBI 确定:
"We cannot fold on top of this native query. Please modify the native query or remove the 'EnableFolding' option."
几分钟后,在 PQuery 编辑器中或者如果我尝试通过快速单击“关闭并应用”来“绕过”它,上面的错误就会出现。不幸的是,由于我们的数据结构不太好,底层 SQL 可能已经达到了最好的水平。我已经尝试通过脚本中的 an 来欺骗 PBI 似乎超时OPTION (FAST 1),但它不能足够快地拉出任何东西。
我现在卡住了。这似乎是一个愚蠢的障碍,因为我需要做的就是完成第一次导入,因为显然它可以查询折叠以获取较短的负载。我该如何工作?