关系故障排除指南

本文面向使用 Power BI Desktop 的数据建模者。 它指导你如何排查在开发模型和创建报表时可能会遇到的具体问题。

注意

本文不涵盖对模型关系的介绍。 如果你对模型关系、其属性或配置方法并非完全熟悉,建议先阅读 Power BI Desktop 中的模型关系一文。

此外,还应了解星型架构设计,这一点也很重要。 有关详细信息,请参阅了解星型架构和 Power BI 的重要性

疑难解答

如果报表视觉对象配置为使用两个(或更多)表中的字段,但它不显示正确的结果(或任何结果),那么问题可能与模型关系有关。

在这种情况下,需要遵循下面的常规故障排除清单。 可以逐个执行清单中的步骤,直到确定一个或多个问题所在。

  1. 将视觉对象切换为表或矩阵,或打开“查看数据”窗格:在可以看到查询结果的情况下,更容易排查问题。
  2. 如果查询结果为空,请切换到“数据”视图:验证表是否已加载数据行。
  3. 切换到“模型”视图:在其中可以轻松查看关系,并快速确定关系属性。
  4. 验证表之间是否存在关系。
  5. 验证基数属性是否已正确配置:如果“多”端列当前包含唯一值,且已被错误地配置为“一”端,那么基数属性可能不正确。
  6. 验证关系是否处于活动状态(实线)。
  7. 验证筛选器方向是否支持传播(解释箭头)。
  8. 验证是否关联了正确的列:选择关系或将光标悬停在上方可显示关联列。
  9. 验证关联列的数据类型是否相同或至少兼容:可以将文本列与整数列关联,但筛选器找不到任何要传播的匹配值。
  10. 切换到“数据”视图,并验证能否在关联列中找到匹配值。

故障排除指南

下面是问题列表及其可能的原因。

问题 可能的原因
视觉对象不显示结果 • 模型尚未加载数据。
• 筛选器上下文中没有数据。
• 已强制执行行级别安全性 (RLS)。
• 表之间不传播关系:请遵循上述清单
• 已强制执行 RLS,但未启用传播双向关系:请参阅结合使用行级别安全性 (RLS) 与 Power BI Desktop
视觉对象对每个分组显示相同的值 • 关系不存在。
• 表之间不传播关系:请遵循上述清单
视觉对象显示结果,但结果不正确 • 未正确设置视觉对象。
• 度量计算逻辑不正确。
• 需要刷新模型数据。
• 源数据不正确。
• 关系列未正确关联(例如,ProductID 列映射到 CustomerID)。
• 这是两个 DirectQuery 表之间的关系,关系的“一”端列包含重复值。
出现 BLANK 分组或切片器/筛选器项,但源列不包含 BLANK • 这是一种常规关系,“多”端列包含的值不存储在“一”端列中:请参阅 Power BI Desktop 中的模型关系(常规关系)
• 这是常规一对一关系,关联列包含 BLANK—请参阅 Power BI Desktop 中的模型关系(常规关系)
• 非活动关系“多”端列存储 BLANK,或包含的值不存储在“一”端中。
视觉对象缺少数据 • 应用的筛选器不正确/不符合预期。
• 已强制执行 RLS。
• 这是一种有限关系,关联列包含 BLANK,或存在数据完整性问题:请参阅 Power BI Desktop 中的模型关系(有限关系)
• 这是两个 DirectQuery 表之间的关系,关系配置为假定引用完整性,但存在数据完整性问题(关联列中的值不匹配)。
未正确强制执行 RLS • 表之间不传播关系:请遵循上述清单
• 已强制执行 RLS,但未启用传播双向关系:请参阅结合使用行级别安全性 (RLS) 与 Power BI Desktop

有关本文的详细信息,请参阅以下资源: