在 Power BI Desktop 中设置视觉对象查询限制
首先,让我们简单总结一下这个问题的背景。Power BI的计算资源是有限的,因此Microsoft对查询的执行时间和内存使用设置了严格的限制。如果查询耗时过长或占用过多内存,就会触发这些限制,就会报错。
报错信息:可视化视觉对象已超出可用资源
如果单击 “查看详细信息” 链接,将看到以下对话框:
查看详细信息:“超出的资源 此视觉对象已超出可用资源,请尝试筛选以减少显示的数据量”
遇到“此视觉对象已超出可用资源”错误时,通常是由于以下两个原因导致的:
- 查询运行时间过长:Power BI服务默认的查询超时时间为225秒,如果查询运行时间超过这个限制,就会触发错误。管理员可以进行设置,缩短此超时时间限制,除非设置了自定义限制或未使用Power BI数据集作为数据源,不然225秒一般就是查询在Power BI Desktop中可以运行的最长时间。
- 查询占用过多内存:这可能是因为对非常大的表执行了效率低下的DAX计算。例如,对整个表而非单个列进行筛选,这种反模型设计的类似操作都会导致内存使用量激增。
从根本上解决这个问题还是需要优化查询性能,不然缓慢且低效的查询会降低用户体验感,甚至引发更严重的问题。如果你只是想暂时关掉这个查询限制,可以这样操作。
暂时关掉这个查询限制步骤
- 在Power BI Desktop中
- >> 点击“File”(文件)菜单,选择“Options and settings”(选项和设置),点击“Options”(选项)。
- >> 在弹出的对话框中,选择“Report settings”(报表设置)。
- >> 在页面底部的“查询限制模拟”中,可以关闭查询限制。
在Power BI Desktop中,可以通过“自定义限制”选项来设置查询的超时时间和内存使用限制。如果在其中一个框中输入“0”,则表示不设置限制;选择“无查询限制”则表示完全不受限制。
需要注意的是,这些选项只能临时使用,如果长期不设置限制,可能会导致在Power BI服务中遇到资源超限的错误。
但是,Power BI Desktop 中施加的限制只会对 Power BI Desktop 本身生成的查询施加,也就是说它们不会影响 DAX Studio 等外部工具(这些工具也可用于查询 Power BI Desktop 中的数据集)。并且这些设置是按文件保存的,因此,如果创建新的 .pbix 文件,还是默认设置。