我有一种计算累积总数的方法:
CumulativeCount:=
VAR date1 = MAX( DimDate[Date] )
VAR date2 = MAX( FactTable[EndDate] )
RETURN
CALCULATE (
SUM( FactTable[Count] ),
DimDate[Date] <= date1,
DimDate[Date] <= date2,
ALL( DimDate[Date] )
)另一个,实际上是在数据透视表中使用的,它在计算大额时,应该把每个日期的累计总数加起来:
CumulativeCountForPivot:=
IF (
-- If calculating for one group
COUNTROWS( VALUES( FactTable[Group] ) ) = 1,
-- Do core logic
[CumulativeCount],
-- Else add up the results from each group
SUMX(
VALUES( FactTable[Group] ),
[CumulativeCount]
)
)我不明白为什么最后一栏中的总金额是12,而不是6.

发布于 2018-04-25 17:47:14
原因是,总计是GroupA和GroupB的总和,并且在该日期有12的累积计数(每个组的6)。
在06/01/2017上没有GroupA的记录,所以[CumulativeCount]度量返回一个空白,尽管在该日期之前有记录,计数将是6。如果您为GroupA添加了一个Count of 0 on 06/01/2017的记录,那么您将看到6出现。
如果您想要一个只显示该日期的6的度量,那么尝试如下所示:
CountForPivot =
VAR TempTable = SUMMARIZE(FactTable,
FactTable[Group],
FactTable[EndDate],
"Cumulative",
CALCULATE(SUM(FactTable[Count]),
FILTER(ALLEXCEPT(FactTable, FactTable[Group]),
FactTable[EndDate] <= MAX(FactTable[EndDate])
)
)
)
RETURN SUMX(TempTable, [Cumulative])https://stackoverflow.com/questions/50027328
复制相似问题