循环参考 Power BI

时间:2021-03-16 15:00:33

标签: powerbi powerbi-desktop circular-reference

我们正在 Power BI 中复制复杂的电子表格,因为它可以比 Excel 更快地处理数据。

我对 Power BI 非常陌生,所以我希望这是一个我自己造成的愚蠢问题并且可以解决。

我们有几个计算列复制了 excel 的总和。但是,当我输入似乎是更简单的总和之一时,我收到以下错误消息。

Error message

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

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

table

我们使用的计算以前有效但现在无效,如下所示:

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
)

1 个答案:

答案 0 :(得分:0)

尝试像这样重新定义 Rank

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