簡體   English   中英

DAX運行總計+起始值

[英]DAX running total + starting value

我對DAX領域Running_Total_QTY:=CALCULATE(SUM(Reporting[QTY]),FILTER(ALL(Reporting[DATE_R]),Reporting[DATE_R]<=MAX(Reporting[DATE_R]))) ,但是通過滾動瀏覽,我成功地實現了一個累積(運行)總計,並沿以下結構定義了度量: Running_Total_QTY:=CALCULATE(SUM(Reporting[QTY]),FILTER(ALL(Reporting[DATE_R]),Reporting[DATE_R]<=MAX(Reporting[DATE_R])))

對於看起來像這樣的表:

ID  DATE_R          QTY
A1  5/11/2018 9:00  5
A1  5/11/2018 9:01  10
A1  5/11/2018 9:01  -5
A1  5/11/2018 9:02  50
A1  5/11/2018 9:05  -20
B1  5/11/2018 9:00  3
B1  5/11/2018 9:01  -20
B1  5/11/2018 9:01  4
B1  5/11/2018 9:02  20
B1  5/11/2018 9:03  10

問題是我需要將一個開始的QTY- QTY_INIT添加到此運行總計中,該QTY是從另一個如下表中收到的:

ID1 QTY_INIT
A1  100
B1  200

通過反復試驗,我成功創建了第二個度量來計算(定義為1個項目的)平均值,如下所示:

Average_starting_quantity:=CALCULATE(AVERAGE(Starting_Quantity[QTY_INIT]),FILTER(ALL(Starting_Quantity[ID1]),Starting_Quantity[ID1]=LASTNONBLANK(Reporting[ID],TRUE())))

然后只需將這兩個度量加在一起。

Running_plus_total:=[Running_Total_QTY]+[Average_starting_quantity]

此方法有效,但是效率非常低而且非常慢(數據集很大)。

如何不使用“偽”平均值(或最大值,最小值等)直接從第二個表中添加QTY_INIT? 如何優化測量以提高性能?

在此先感謝您的幫助。

問候

而不是您的Average_starting_quantity呢?

StartingQty = LOOKUPVALUE(Starting_Quantity[QTY_INIT],
                          Starting_Quantity[ID1], MAX(Reporting[ID]))

如果您的表格與IDID1相關聯,並且交叉過濾器的方向同時存在,

在此處輸入圖片說明

那你就可以用

StartingQty = MAX(Starting_Quantity[QTY_INIT])

因為ID上的過濾器上下文將流到ID1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM