↓ 预约直播,更多干货,不要错过 ↓
在 Power BI 中,性能瓶颈可能出现在开发过程的任何阶段,无论是报告加载缓慢、刷新时间过长,还是视觉效果不响应,都需要系统化和结构化的方法来识别其根本原因。
低效的数据源查询 设计不良的数据模型 未优化的 DAX 计算 报告中加载了过多的可视化元素
这些只是其中的几个例子。性能问题可能来自 Power BI 解决方案的任何部分:
✅ 数据源连接与转换
✅ 数据模型
✅ DAX 公式
✅ 数据可视化
✅ 环境:设备、部署和网络
本文将介绍 Power BI 性能优化的数据源连接与转换部分的优化策略,我们将介绍优化数据连接与转换的最佳实践,优化内存和 CPU 使用,同时确保只有相关和必要的信息流入你的 Power BI 报告。
减少数据量和颗粒度
尽管这些技术通常与数据模型优化相关,这里强调在连接和转换数据阶段采用这些最佳实践的重要性。这样可以确保仅将必要的数据加载到模型中,减少内存使用,提升处理速度,为高效的数据模型奠定基础。
仅加载数据模型中必要的表
在构建数据模型时,你可能需要将表导入 Power Query 进行中间计算。然而,如果这些表对于最终报告并不必要,重要的是防止它们不必要地增加模型的大小和复杂性。为此,记得在 Power Query 中取消选中“启用加载”选项,对于那些仅作为中间步骤且不在报告中使用的表:
仅选择所需关键列
每一列都会增加处理和内存使用。排除如 GUID、审计日志或元数据等不需要用于分析的列。牢记这一原则:添加列比删除不必要的列要容易得多。随着数据模型的增长和更多报告的连接,移除未使用的列或表变得越来越复杂。
拆分高基数列
拆分小数列:将小数列的整数部分和小数部分分离为两个列。 拆分日期时间列:如果同时需要日期和时间,将日期时间字段拆分为两个单独的列。 拆分高基数 ID:如产品 ID 或 用户 ID 等列通常包含由多个有意义组件(如前缀、区域或批号)组成的唯一标识符。这些列可以通过提取 ID 中的有意义组件并将其存储在单独的列中来拆分,从而减少每列中的唯一值,提高压缩率和性能。例如:
提前筛选数据
在 Power Query 中应用筛选器,仅加载相关的行。例如,在导入前按日期或区域进行过滤。
通过聚合减少颗粒度
减少颗粒度是优化数据大小的强大技术,可以在加载到模型之前使用 Power Query 或源端的 SQL 等工具对数据进行分组和汇总。例如,一个存储单个交易行的销售表可以按客户、产品或月份进行汇总。然而,这种权衡会牺牲详细的交易数据以获得更高效的模型。确保你的聚合级别满足报告的分析需求。
避免在 Power BI 中进行复杂的转换
使用 ETL 工具、数据库视图或存储过程在数据源处执行重型转换。这可以减少 Power BI 的计算负载,优化刷新时间,并确保解决方案高效且可扩展。
将文本或大型数据类型(如字符串)在适当情况下转换为较小的类型,如整数或布尔值。 避免在不必要时使用高精度小数,选择固定小数或整数。
合并 Power Query 中的应用步骤
合并相似的转换,例如在一个步骤中重命名或删除多个列,以避免冗余处理。
Power BI 设置
禁用后台刷新
默认情况下,Power BI Desktop 中的 Power Query 为每个查询缓存最多 1,000 行预览数据。虽然这些预览数据帮助用户快速查看源数据和转换结果,但它们与 Power BI Desktop 文件分开存储,尤其在处理大量查询时,可能会显著增加刷新时间。
转到 选项 > 当前文件 > 数据加载 > 后台数据。 取消选中“允许在后台下载数据预览”选项。
安全地忽略隐私级别
无:无隔离;适用于受控环境,但存在数据泄露风险。 私有:确保敏感数据的严格隔离,防止与其他源合并。 组织:允许在受信任的组内共享数据,但不与公共源共享。 公共:所有人都可访问,并可与其他数据源合并。
选择忽略隐私级别的选项可能会提高性能。然而,这可能会将敏感或机密数据暴露给未经授权的人。除非你确定数据源不包含敏感或机密数据,否则不要启用此设置。
转到 选项 > 当前文件 > 隐私。 选择“忽略隐私级别”,以潜在地提高性能。
注意:忽略的隐私级别不会应用于 Power BI 服务中的报告。
性能分析工具
查询诊断
汇总视图:提供查询执行期间时间消耗的高级概览,结合相关操作。 详细视图:提供逐行的见解,适用于高级故障排除和性能调整。
使用查询诊断的步骤:
在 Power Query 编辑器中,从工具栏选择“开始诊断”。 执行操作(例如,刷新预览或查询)以捕捉性能数据。 分析生成的诊断查询中的结果。
提示:关注“独占持续时间”列,并汇总这些值,以了解哪些步骤消耗了最多的资源或耗时最长。
结论
优化数据源连接与转换是创建高性能 Power BI 报告的第一步。通过减少不必要的数据、利用查询折叠以及高效地组织查询步骤,你可以为更快、更响应、更具可扩展性的解决方案奠定基础。
企业级大型案例:
汽车品牌竞争分析仪表盘应用
如果您也在寻找类似的解决方案,欢迎扫描文末二维码联系我们,共同探索适合您企业的数字化运营策略!
对企业数据分析有问题?点击下方预约直播,还可现场连麦咨询哦。
一更专业的数据分析师训练营一
📈【高级课程】:业务人(管理、销售、财务、供应链)彻底解决企业数据分析。
🔍【企业咨询】:十大行业,十大领域,企业案例,咨询,培训,实施。
🔗 如何获取更多信息?扫描下方二维码具体咨询。
BI佐罗数据分析 - 更专业更系统的企业数据分析
点击“阅读原文”获取更多资源