powerbi性能优化
对于powerbi,性能优化可以从15个方面考虑:
1.过滤源数据【quickbi数据集过滤或sql过滤】
2.删除无关列 【quickbi不选字段或sql不查询】
3.聚合分析粒度 【quickbi使用sql聚合或计算字段聚合】
4.整理字段 【quickbi使用sql聚合或计算字段聚合】
5.禁用不必要的加载 【quickbi不可做】
-
- 禁用系统日期表 【quickbi可以使用单独一张日期表数据集】
7.选择适当的数据类型 【quickbi计算字段可以选择维度或度量】
8.选择合适的连接方式 【quickbi只有直连】
9.避免使用计算列 【quickbi只有计算字段,类似度量值,但也不是度量值】
10.不断优化DAX 【quickbi修改使用函数也可达到目的】
11.尽量使用内置可视化对象 【quickbi高级版只有内置图表可用】
12.避免直接展示明细数据 【quickbi不会因为明细表影响效率】
13.避免过度使用交互 【quickbi有交互功能,性能优劣不取决于交互】
14.简化设计 【quickbi图表超100个以后,整个看板性能会变差】
15.定期更新PowerBI Desktop 【quickbi每月更新】
quickbi性能优化
但quickbi没有这么复杂,大的方面主要分为2种:开启加速引擎,添加占位符默认值。
实际优化效果:
加载速度可以从2分钟缩短到5秒甚至1秒内。
对quickbi看板搭建的理解:
quickbi仪表板是通过连接数据库,通过写sql代码生成数据集,再使用内置的图表生成可视化看板的;即便使用内置的探索空间,上传excel到探索空间,本质上也是使用了内置的数据库,因此quickbi做性能优化需要从数据集入手。
下文分享如何做性能优化,主要分为2大类 ,数据集含占位符 、数据集不含占位符。
情况一:不含占位符
a. 多表连接或单独一个表或者sql数据集,未添加加速配置
可以使用加速配置,性能优化大概可以缩短至5秒内,甚至更短
开启前:

开启后:


b. 已添加加速配置,
相同网页,首次打开慢,第二次打开快,可以使用查询结果缓存

情况二:使用占位符
a.占位符没有使用默认值,
可以使用添加数据集的占位符默认值,打开速度可以从16秒缩短至2秒左右

b.占位符使用默认值,
当开启缓存后,查询链路仍然是数据库时,可以通过在sql代码中通过where条件限制日期区间,可以有效提高性能

两款BI的对比:
相对powerbi来说,quickbi的性能优化方式比较简单,不需要思考更多的可能性。
对于上方标红的部分:
1. 对于禁用不必要的加载:
如果是同一个数据模型,powerbi可以禁用某个数据表在更新数据时不加载;
但quickbi在更新数据集时,是数据集内所有的数据同时进行查询,从而更新数据,如果想要进行部分更新,可以限制日期范围,但对于所有用到的表来说,还是进行了全表更新。
2. 选择合适的连接方式
powerbi可以选择直连,也可以选择导入模式,powerbi的导入模式相当于把数据表全部加载进模型中,作为缓存使用。
quickbi使用直连模式,当开启加速引擎后,才将数据结果进行缓存,如果部分函数不支持加速引擎或使用占位符,则quickbi数据集就又自动转为直连模式。
3.避免使用计算列
powerbi的计算列是会计算在内存中,而度量值只有在使用时才会计算,且度量值不占用内存,度量值创建数量没有限制。
而quickbi只有计算字段,不使用时不占用内存,在使用时才会占用内存,但当计算字段的度量超89个之后,就无法再创建新的度量。