POWERBI: A circular dependency is detected issue



我有一个公式,它为我提供了一个错误:"一个循环依赖被检测"-我似乎不明白为什么会有循环依赖。

我的假设是[售出水果的时间持续时间]哪个是度量?

谁能看出这个问题?

Scoring Column =
VAR NCT = CTL[FRUIT]
VAR filteredTable =
FILTER (
CTL,
NOT ( ISBLANK ( [Time duration fruit sold] ) )
&& CTL[FRUIT] = NCT
)
RETURN
DIVIDE (
RANKX ( filteredTable, CTL[Time duration fruit sold],, DESC ) - 1,
COUNTROWS ( filteredTable ) - 1
)

测量:

Time Duration fruit sold =
VAR dispdate =
MIN ( CTL[Site RTE Actual] )
VAR lastsoldthiscountry =
CALCULATE (
MAX ( CTL[Site Last Actual] ),
ALL ( CTL ),
SUMMARIZE ( CTL, CTL[FRUIT], CTL[Country Name] )
)
RETURN
IF (
NOT ( ISBLANK ( lastsoldthiscountry ) ) && NOT ( ISBLANK ( dispdate ) ),
INT ( lastsoldthiscountry - dispdate )
)

If "评分栏"是表CTL中的计算列,那么您确实有一个循环引用:

  • 在计算列中,您指的是测量"时间持续水果销售">
  • 在度量"Time Duration fruit sold"中,您使用ALL(CTL)来指代整个表CTL。ALL函数返回所有列,包括像"评分列"这样的计算列。因为要计算测量值,你需要列,而要计算列,你需要测量值,你得到循环参考。

要解决这个问题,将计分列改为度量列,而不是计算列。

更一般地说,完全避免计算列—数据模型中的所有列都应该在源(在数据库中)或PowerQuery中预先计算。使用DAX构建它们是一个应该避免的坏做法。

相关内容

最新更新