无法创建 1:M 关系

Ran*_*der 1 powerbi

在 Power BI 中,我试图将维度表与事实表连接起来。维度表中有大约 110 万行(我对维度表了解很多)。所有的值都是唯一的。当我尝试将其加入事实表时,PBI 会自动创建 M:M 关系。当我尝试将其更改为 1:M 时,我收到一条消息,提示“您为此关系选择的基数无效”。

这是生成数据集的查询。如您所见,不可能有重复项。

SELECT DISTINCT
   [TranDesc] as TransactionDescription
FROM [dbo].[dGLTranDescription];
Run Code Online (Sandbox Code Playgroud)

为什么我会收到这条消息?

Ily*_*sky 5

尝试验证 Power BI 是否将维度表中的值视为唯一。根据您的数据,源系统和 PowerBI 可能会以不同的方式看待它。

以下是来自https://community.powerbi.com/t5/Desktop/The-cardinality-you-selected-isn-t-valid-for-this-relationship/td-p/73470 的建议

1.

创建两个度量以在 Power BI 中进行验证:

TotalRows = COUNTROWS('DimTableHere')
DistinctRows = DISTINCTCOUNT('DimTableHere'[DimTableJoinColumnHere])

创建这两个度量后,将它们放置在两个卡片视觉对象中,如果结果不同,则表示您的维度表中有重复的值。

2.

如果您在第一次创建关系时有重复项而现在没有,删除关系并重新创建它可能会解决它。

  • 空字符串会使关系产生歧义。检查是否有助于在源 SQL 或 Power BI 的 Power Query 编辑器中将其过滤掉。在 Power Query 编辑器的列筛选器中选择“删除空”或在高级编辑器中添加一个步骤:= Table.SelectRows(#"PirorStepNameHere", each ([#"TranDesc"] <> null and [#"TranDesc"] <> "")) (2认同)