【问题标题】:PowerBi Circular Dependancy issuePower Bi 循环依赖问题
【发布时间】:2020-11-13 15:14:19
【问题描述】:

我遇到了一个循环依赖的情况。

我正在尝试计算在某个日期前哪些库存会到达我们的仓库,但 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)
)

问题是 datesbetween 函数需要一个列来引用,而我的列是下面的计算列,它只引用 'onorder' 表中的其他列:

要理解这个公式,这里有一个小关键: 如果数量在运输中,则 InT 为真/假 Open 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])

谁能帮我解决这个问题,或者建议我如何计算这个问题? 非常感谢!

【问题讨论】:

    标签: powerbi circular-dependency


    【解决方案1】:

    放弃 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)
    )
    

    【讨论】:

      【解决方案2】:

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

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

      我根本看不出这有什么冲突。

      【讨论】:

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