我有一个计算累计总数的指标:
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。
答案 0 :(得分:0)
原因是总计是GroupA
和GroupB
的总和,并且该日期的累计次数为12
(每个组6
)。
在06/01/2017
上没有GroupA
的记录,因此[CumulativeCount]
指标返回空白,即使在该日期之前有记录且计数为6
。如果您在GroupA
上添加了Count
0
06/01/2017
的{{1}}条记录,那么您会看到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])