首页 > 解决方案 > 循环参考 Power BI

问题描述

我们在 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
)

标签: powerbipowerbi-desktopcircular-reference

解决方案


尝试Rank像这样重新定义:

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

推荐阅读