![](/img/trans.png)
[英]Create a Running Total Measure in DAX from another Measure (not Calculated Column)
[英]Running total of a measure DAX
我正在嘗試計算我創建的度量的運行總計,我可以使用“將值顯示為”來獲取數據透視表以顯示它,但是我無法使用新度量實現相同的目標,我需要一個新度量,這樣我就可以了計算年初至今的平均值
使用以下公式,我得到各個行的總和,而不是每月聚合行的總和
任何幫助將不勝感激謝謝
Measure2:=CALCULATE(SUMX(Table,[measure1]),FILTER (
ALL( Calendar[Date]),
Calendar[Date] <= MAX (Calendar[Date] )
)
)
Measure1:=if(sum(AMOUNT)=0,Blank(),if(sum(AMOUNT)<0,[WAT],if([Countback]=1,(SUM(AMOUNT)/[CumulativSales1])*[Sum of Days],
if([Countback]=2,[Sum of Days]+((SUM(AMOUNT))-[CumulativSales1])/([CumulativSales2]-[CumulativSales1])*[Days Previous],
if([Countback]=3,[Sum of Days]+[Days Previous]+((SUM(AMOUNT))-[CumulativSales2])/([CumulativSales3]-[CumulativSales2])*[Days Previous2],
if([Countback]=4,[Sum of Days]+[Days Previous]+[Days Previous2]+((SUM(AMOUNT))-[CumulativSales3])/([CumulativSales4]-[CumulativSales3])*[Days Previous3],
if([Countback]=5,[Sum of Days]+[Days Previous]+[Days Previous2]+[Days Previous3]+((SUM(AMOUNT))-[CumulativSales4])/([CumulativSales5]-[CumulativSales4])*[Days Previous4],200)))))))
AverageSaleWeight2:=if(HASONEVALUE(Calendar[Date]),
CALCULATE(sum(INVOICE[Days Given * Amount])/sum(INVOICE[Amount GBP]),
DATEADD(Calendar[Date],-2,MONTH)),BLANK())
AverageSaleWeight3:=if(HASONEVALUE(Calendar[Date]),
CALCULATE(sum(INVOICE[Days Given * Amount])/sum(INVOICE[Amount GBP]),
DATEADD(Calendar[Date],-3,MONTH)),BLANK())
.....
Countback:=IF((DIVIDE([CumulativSales1],sum(Aging[OPEN_DOM_AMOUNT]))>=0.9999,1,
IF((DIVIDE([CumulativSales2],SUM(Aging[OPEN_DOM_AMOUNT]))>=0.9999,2,
IF((DIVIDE([CumulativSales3],SUM(Aging[OPEN_DOM_AMOUNT]))>=0.9999,3,
IF((DIVIDE([CumulativSales4],sum(Aging[OPEN_DOM_AMOUNT]))>=0.9999,4,
IF((DIVIDE([CumulativSales5],sum(Aging[OPEN_DOM_AMOUNT]))>=0.9999,5,6))))))))))
CumulativSales1:=CALCULATE(SUM(INVOICE[Amount GBP]),
DATESINPERIOD(Calendar[Date],
LASTDATE(Calendar[Date]),-1,MONTH))
CumulativSales2:=CALCULATE(SUM(INVOICE[Amount GBP]),
DATESINPERIOD(Calendar[Date],
LASTDATE(Calendar[Date]),-2,MONTH))
WAT:=if(sum([AMOUNT])=0,Blank(),IF([Countback]=1,[AverageSaleWeight],IF([Countback]=2,[AverageSaleWeight1],IF([Countback]=3,[AverageSaleWeight2],IF([Countback]=4,[AverageSaleWeight3],IF([Countback]=5,
[AverageSaleWeight4],IF([Countback]=6,[AverageSaleWeight5],30)))))))
Days Previous:=CALCULATE(SUM(Calendar[Days]),
DATESINPERIOD(Calendar[Date],
LASTDATE(Calendar[Date]),-2,MONTH))-CALCULATE(SUM(Calendar[Days]),
DATESINPERIOD(Calendar[Date],
LASTDATE(Calendar[Date]),-1,MONTH))
Days Previous2:=CALCULATE(SUM(Calendar[Days]),
DATESINPERIOD(Calendar[Date],
LASTDATE(Calendar[Date]),-3,MONTH))-CALCULATE(SUM(Calendar[Days]),
DATESINPERIOD(Calendar[Date],
LASTDATE(Calendar[Date]),-2,MONTH))
....
`
試試這個修改后的版本,看看你是否得到了想要的結果:
Measure3 := CALCULATE(
SUMX( VALUES(Calendar[Month]), [measure1] )
, FILTER(
ALL(Calendar)
, Calendar[Date] <= MAX(Calendar[Date])
&& Calendar[Year] = MAX(Calendar[Year])
)
)
最新編輯:添加 SUMX VALUES
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.