다음을 통해 공유

Power BI 备忘单

本页提供清晰和有意见的指导,用于高效管理 Power BI 和 Azure Databricks 中的数据,以优化查询性能并创建高效的仪表板。

连接 Azure Databricks 和 Power BI

最佳做法 影响 Docs
连接到不同的 Azure Databricks 环境时使用 Power BI 参数 允许在连接到不同的 Azure Databricks 工作区或不同的 Azure Databricks SQL 仓库时灵活。
使用 Azure Databricks 发布到 Power BI 服务功能 启用无缝目录集成和数据模型同步,而无需离开 Azure Databricks UI。
使用 Azure Databricks 自动发布到 Power BI 直接从数据管道将数据集从 Unity 目录发布到 Power BI。

选择最合适的存储模式

最佳做法 影响 Docs
将 DirectQuery 用于事实数据表,对维度表使用双查询(不导入) 使用最合适的存储模式生成更高效的 SQL 查询。
尽可能优先使用 DirectQuery 而不是导入 允许你保持治理和听觉性。
将复合模型用于混合存储模式 允许混合使用 DirectQuery、双重模式表、导入模式表,以及聚合表和混合表。
将混合表用于聚合历史数据与实时数据的结合 启用高效的内存中查询。

优化数据访问

最佳做法 影响 Docs
使用用户定义的聚合 通过缓存预先聚合的数据,提高对大型 DirectQuery 语义模型的查询性能。
使用自动聚合 通过基于查询历史记录生成聚合来持续优化 DirectQuery 语义模型,以获得最大的报表性能。
使用表分区或增量刷新 允许更快地导入数据并管理较大的数据集,尤其是对于非常小、静态和性能敏感的(小于 2 秒)报表。
添加 “应用所有切片器”“清除所有切片器” 按钮 当用户与报表筛选器交互时,利用查询减少设置来防止不必要的查询。
如果在上游引入中验证了引用完整性,请在定义表关系时使用假定引用完整性 在 SQL 查询中启用更高效的联接策略。

微调数据模型

最佳做法 影响 Docs
“向左移动”转换 与 PowerQuery 转换和 DAX 公式相比,SQL 视图利用 Databricks SQL 引擎的强大功能实现更高效的报表执行。
如果必须使用 DAX 公式,请优化 DAX 公式并避免大型结果集。 防止导致性能恶化的低效计算
避免在语义模型中使用 DAX 计算列和计算表,并在 Gold 表中直接定义此数据 预计算度量值在黄金层中表现最佳
对于 DirectQuery,请检查查询并行化配置设置 改进查询并行化并最大限度地利用 SQL 仓库以提高整体性能。
在 DirectQuery 的情况下,请检查 Power BI 能够并行发送到 Azure Databricks 的查询数量。 确保 Databricks SQL 仓库相应地调整大小,以处理所需的并行度,以避免查询排队,从而导致报告速度缓慢。

监视性能和指标

最佳做法 影响 Docs
使用 Power BI 性能分析器检查报表元素性能 标识加载最耗时且瓶颈所在位置的可视化效果。
评估 Power BI 语义模型的以下属性:
  • 每个数据源的最大连接数
  • 同时评估的最大数目
  • 最大并发作业数
  • MaxParallelismPerQuery
微调模型的性能。