PowerBi循环依赖问题

问题描述

我遇到循环依赖的情况。

我正在尝试计算在某个日期之前将到达仓库的库存,但是eta_date是计算得出的日期列。

报告问题的公式是这样:

SIT Arriving Soon = 
VAR PastDate = Today() - 40
VAR FutureDate = TODAY() + 14

return
CALculaTE(SUMX(Onorder,Onorder[Open ASN qty [units]]]),DATESBETWEEN(Onorder[ETA Date],PastDate,FutureDate)
)

问题在于,datesweenween函数需要一列来引用,而我的列是下面的计算列,该列仅引用“ onorder”表中的其他列:

要了解此公式,这是一个小键: 如果数量在运输中,则InT为true / false 打开的ASN数量=运送中的数量 然后,我查看了不同的供应商以及用于增加运输时间天数的运输方式。 然后,我进行计算以将运输时间添加到“按供应商开具发票”日期,如果供应商不是定义的供应商之一,则我们使用认的计算日期“ Onorder [Target VSL3 Date]”

ETA Date = 
Var InT = if ( Onorder[Open ASN qty [units]]] <> 0,1,0)
Var AAvend = if(  Onorder[vendor] = "451633" ||
                  Onorder[vendor] = "97051583"|| 
                  Onorder[vendor] = "452825","AA","Non-AA")
Var AATransTime = if( AAvend = "AA",IF(Onorder[Ship Mode] = "Blitz",5,IF(Onorder[Ship Mode] =       "Air",14,42)),500)
var TransTime = IF(AATransTime > 0,AATransTime,99999)
RETURN
if ( InT = 1,DATEADD(Onorder[Ship Date].[Date],TransTime,DAY),Onorder[Target VSL3 Date].    [Date])

任何人都可以帮助我解决此问题,或就如何计算此问题提供建议吗? 非常感谢!

解决方法

抛弃DATESBETWEEN,然后在日期列上进行过滤:

SIT Arriving Soon = 
VAR PastDate = Today() - 40
VAR FutureDate = TODAY() + 14

return
CALCULATE(SUM(OnOrder[Open ASN qty [units]]]),OnOrder[ETA Date] >= PastDate && OnOrder[ETA Date] <=FutureDate)
)
,

感谢您的回复。我尝试了公式,但仍然收到循环引用错误。它讨论了“ ADC发票编号”字段。这是该代码:

ADC Invoice No = 
CALCULATE ( FIRSTNONBLANK ( 'ADC Movements'[ADC Invoice Number],1 ),FILTER ( ALL (     'ADC Movements' ),'ADC Movements'[PoFull] = OnOrder[PoFull] ) ) 

我完全看不出这种冲突。