Powerbi 无法创建1:M关系
在Power BI中,我试图将维度表与事实表连接起来。维度表中大约有1.1M行(我知道维度表有很多行)。所有值都是唯一的。当我尝试将其加入事实表时,PBI会自动创建一个M:M关系。当我尝试将其更改为1:M时,我收到一条消息,说“您为此关系选择的基数无效” 下面是生成数据集的查询。正如你所看到的,不可能有重复的Powerbi 无法创建1:M关系,powerbi,Powerbi,在Power BI中,我试图将维度表与事实表连接起来。维度表中大约有1.1M行(我知道维度表有很多行)。所有值都是唯一的。当我尝试将其加入事实表时,PBI会自动创建一个M:M关系。当我尝试将其更改为1:M时,我收到一条消息,说“您为此关系选择的基数无效” 下面是生成数据集的查询。正如你所看到的,不可能有重复的 SELECT DISTINCT [TranDesc] as TransactionDescription FROM [dbo].[dGLTranDescription]; 为什么会
SELECT DISTINCT
[TranDesc] as TransactionDescription
FROM [dbo].[dGLTranDescription];
为什么会收到此消息?请尝试验证Power BI是否将维度表中的值视为唯一的。根据您的数据,源系统和PowerBI可能会有不同的看法 以下是来自中国的建议 一, 创建两个措施以在Power BI中进行验证:
TotalRows=COUNTROWS('DimTableHere')
DistinctRows=DISTINCTCOUNT('DimTableHere'[DimTableJoinColumnHere])
创建这两个度量值后,如果需要,将它们放在两张卡片的视觉效果中
结果是不同的,这意味着在您的
维度表
二,
如果您在第一次创建关系时有重复项,而现在没有,则删除该关系并重新创建它可能会解决该问题
尝试验证维度表中的值是否唯一。根据您的数据,源系统和PowerBI可能会有不同的看法 以下是来自中国的建议 一, 创建两个措施以在Power BI中进行验证:
TotalRows=COUNTROWS('DimTableHere')
DistinctRows=DISTINCTCOUNT('DimTableHere'[DimTableJoinColumnHere])
创建这两个度量值后,如果需要,将它们放在两张卡片的视觉效果中
结果是不同的,这意味着在您的
维度表
二,
如果您在第一次创建关系时有重复项,而现在没有,则删除该关系并重新创建它可能会解决该问题
如果已删除关系列上的重复项,但该列仍将其视为无效基数,请尝试在删除重复项之前在该列上运行Text.Clean。我有一个特殊的字符,但是在查询中删除了重复项,在那里计算的值不同,但导入后它们被认为是相同的。如果您删除了关系列上的重复项,但它仍然认为它是无效的基数,请尝试运行文本。在删除重复项之前清除该列。我有一个特殊的字符,但删除了查询中的重复项,在那里计算的值不同,但一旦导入,它们就被认为是相同的。我更新了我的帖子,以包含引入数据集的查询。您可以看到不可能存在重复项。@RandyMinder,检查一个不同的值是null还是空字符串“”。是的,其中一个值是空字符串。但没有空值。空字符串会为关系创建歧义。检查它是否有助于在源SQL或Power BI中的Power Query Editor中将其过滤掉。在Power Query Editor中,在列筛选器中选择“Remove Empty”或在高级编辑器中添加一个步骤:=表。选择行(#“PirorStepNameHere”,每个([#“TranDesc”]null和[#“TranDesc”]]”),我已更新帖子以包含引入数据集的查询。您可以看到不可能存在重复项。@RandyMinder,检查一个不同的值是null还是空字符串“”。是的,其中一个值是空字符串。但没有空值。空字符串会为关系创建歧义。检查它是否有助于在源SQL或Power BI中的Power Query Editor中将其过滤掉。在Power Query Editor中,在列筛选器中选择“Remove Empty”,或在高级编辑器中添加一个步骤:=表。选择行(#“PirorStepNameHere”,每个([#“TranDesc”]null和[#“TranDesc”]]”)