【发布时间】: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