首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DAX自定义总计未按预期行事

DAX自定义总计未按预期行事
EN

Stack Overflow用户
提问于 2018-04-25 16:39:34
回答 1查看 165关注 0票数 1

我有一种计算累积总数的方法:

代码语言:javascript
复制
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] )
)

另一个,实际上是在数据透视表中使用的,它在计算大额时,应该把每个日期的累计总数加起来:

代码语言:javascript
复制
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.

EN

回答 1

Stack Overflow用户

发布于 2018-04-25 17:47:14

原因是,总计是GroupAGroupB的总和,并且在该日期有12的累积计数(每个组的6)。

06/01/2017上没有GroupA的记录,所以[CumulativeCount]度量返回一个空白,尽管在该日期之前有记录,计数将是6。如果您为GroupA添加了一个Count of 0 on 06/01/2017的记录,那么您将看到6出现。

如果您想要一个只显示该日期的6的度量,那么尝试如下所示:

代码语言:javascript
复制
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])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50027328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档