【问题标题】:Circular Reference Power BI循环参考 Power BI
【发布时间】:2021-03-16 15:00:33
【问题描述】:

我们在 Power BI 中复制一个复杂的电子表格,因为它处理数据的速度比 Excel 快得多。

我是 Power BI 的新手,所以我希望这是我自己造成的一个愚蠢的问题,并且可以解决。

我们有几个计算列可以复制 Excel 中的总和。但是,在输入 似乎 是较简单的总和之一时,我收到以下错误消息。

没有我可以解决的明显循环引用。我们有一个排名列来对特定组的成本值进行排名(SAU - 如屏幕截图所示),成本值和排名似乎都工作正常,正如我们所期望的那样。成本是从其他几个计算列(没有一个引用我们的问题列)计算出来的,但只是基本的加法/乘法。

我们试图实现的是一个计算列,其中它对所有记录的 sum_THP_Rank 列中的另一个称为 THP(在另一个标准列中找到)的数值求和,直到当前记录排名。即,如果每个 SAU 有 3 条记录,它将执行以下操作:

我们之前使用但现在不行的计算如下:

CALCULATE (
    SUM ( DP_to_Prem[THP] ),
    FILTER ( DP_to_Prem, DP_to_Prem[Rank] <= EARLIER ( DP_to_Prem[Rank] ) ),
    FILTER ( DP_to_Prem, DP_to_Prem[SAU] = EARLIER ( DP_to_Prem[SAU] ) )
)

据我了解,“计算”可能容易受到此错误的影响,因为我是 DAX 和 PowerBI 的新手,我正在努力寻找解决此问题的方法。

根据要求,Rank

Rank =
RANKX (
    FILTER ( DP_to_Prem, DP_to_Prem[SAU] = EARLIER ( DP_to_Prem[SAU] ) ),
    DP_to_Prem[LifeCost],
    ,
    ASC
)

【问题讨论】:

  • 我认为罪魁祸首是Rank 列。您可以将该计算列的代码添加到您的帖子中吗?
  • 我现在已经添加了代码:)
  • 是的。就是这样。您的 FILTER 函数正在引用整个表,因此您的依赖关系为 Sum_THP_Rank 依赖于 Rank 依赖于 Sum_THP_Rank,因为这些列是 DP_to_Prem 的一部分。
  • 嗨,Alexis,我们将如何消除这种依赖关系有没有办法做到这一点?

标签: powerbi powerbi-desktop circular-reference


【解决方案1】:

尝试像这样重新定义Rank

Rank =
RANKX (
    CALCULATETABLE ( DP_to_Prem, ALLEXCEPT ( DP_to_Prem, DP_to_Prem[SAU] ) ),
    DP_to_Prem[LifeCost],
    ,
    ASC
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多