关系问题解决指南

本文面向使用 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。
• 这是一种有限的关系,并且相关列中存在空白项或有数据完整性问题,请参阅 Power BI Desktop 中的 模型关系
• 这是两个 DirectQuery 表之间的关系,该关系设置为 假定引用完整性,但存在数据完整性问题(相关列中不匹配的值)。
未正确强制执行 RLS • 表之间不传播关系:请遵循上述清单
• 已强制执行 RLS,但未启用传播双向关系:请参阅结合使用行级别安全性 (RLS) 与 Power BI Desktop

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