DAX定制Grand Total表现不尽如人意

时间:2018-04-25 16:39:35

标签: powerbi dax powerpivot

我有一个计算累计总数的指标:

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。

BroadcastHashJoin

1 个答案:

答案 0 :(得分:0)

原因是总计是GroupAGroupB的总和,并且该日期的累计次数为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])