代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

无法创建1:M关系

  •  1
  • Randy Minder  · 技术社区  · 6 年前

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

    下面是生成数据集的查询。正如你所看到的,不可能有重复的。

    SELECT DISTINCT
       [TranDesc] as TransactionDescription
    FROM [dbo].[dGLTranDescription];
    

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

    1 回复  |  直到 6 年前
        1
  •  5
  •   Ilya Berdichevsky    6 年前

    尝试验证维度表中的值是否唯一。根据您的数据,源系统和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.

        2
  •  0
  •   Monstah    5 年前

    如果已删除关系列上的重复项,但该列仍将其视为无效基数,请尝试在删除重复项之前在该列上运行Text.Clean。我有一个特殊的字符,但删除了查询中的重复项,这些值在那里被视为不同,但一旦导入,它们就被视为相同。