【问题标题】:A circular dependency in Power BiPower Bi 中的循环依赖
【发布时间】:2021-04-03 08:22:55
【问题描述】:

我计算了一个字段,它带来了 2018 年自行车的总销售额——一切正常 将相同的公式复制到另一列以计算 2017 年的相同公式带来了这个参考错误 - 如果我想使用具有不同参数的相同公式显示几列,我该如何移动它

Sales_Bike_2018 =
CALCULATE (
    [Total_Sales],
    TrainingSample2[Business Segment] = "Bikes",
    TrainingSample2[Year] = 2018
)
Sales_Bike_2017 =
CALCULATE (
    [Total_Sales],
    TrainingSample2[Business Segment] = "Bikes",
    TrainingSample2[Year] = 2017
)

【问题讨论】:

  • 请附上[Total_Sales] 的代码。另外,这些是定义为度量还是计算列?
  • Total_Sales = sum([sales])
  • 这是一个衡量标准
  • 你的问题中定义的那些怎么样?自行车公式是度量还是计算列?

标签: powerbi dax calculated-columns


【解决方案1】:

问题是您在没有唯一键的表上创建 2 列。

当您创建 Sales_Bike_2018 时,一切正常,因为它取决于表的其余列,但是当您创建列 Sales_Bike_2017 时,Sales_Bike_2017 的代码取决于其余列以及 Sales_Bike_2018。

类似地,如果可以创建 Sales_Bike_2017,那么 Sales_Bike_2018 将依赖于 Sales_Bike_2017,这是不允许的,这就是您收到循环依赖错误的原因。

解决方案: 使用 REMOVEFILTERS () 删除由于上下文转换而来自两个新列的过滤器

Sales_Bike_2018 =
CALCULATE (
    [Total_Sales],
    TrainingSample2[Business Segment] = "Bikes",
    TrainingSample2[Year] = 2018,
    REMOVEFILTERS ( TrainingSample2[Sales_Bike_2017] )
)

Sales_Bike_2017 =
CALCULATE (
    [Total_Sales],
    TrainingSample2[Business Segment] = "Bikes",
    TrainingSample2[Year] = 2017,
    REMOVEFILTERS ( TrainingSample2[Sales_Bike_2018] )
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    相关资源
    最近更新 更多