计算度量:按列分组

问题描述 投票:0回答:1

我无法弄清楚为什么分组不正确。它始终给出相同的总和值。enter image description here

用于计算度量的代码:AmountbyDDate =

如果(countrows( '年龄')= 1,计算([值1],过滤('DDate',MAXX('DDate',MAX( '日历'[日期]) - EARLIER( 'DDate'[日期]))> = MAX('Age'[From])&&MAXX('DDate',MAX( '日历'[日期]) - EARLIER( 'DDate'[日期]))<= MAX('Age'[To])))[值1])

非常感谢您的帮助。

dax ssas-tabular
1个回答
0
投票

因为在DAX中,零件的总和不一定与总数匹配

总计被视为过滤器的缺席。

以您为例在逐行显示的年龄段中,您有一个过滤器(在行中选择的过滤器)总体而言,您没有针对“年龄”的过滤条件,因此可以看到整个数字

[您可以强制总计查看层次结构的层次并使用“部分”,当您处于总计级别时使用SumX。

AmountbyDDate =
IF (
    COUNTROWS ( 'Age' ) = 1,
    CALCULATE (
        [Value1],
        FILTER (
            'DDate',
            MAXX (
                'DDate',
                MAX ( 'Calendar'[Date] )
                    - EARLIER ( 'DDate'[Date] )
            )
                >= MAX ( 'Age'[From] )
                && MAXX (
                    'DDate',
                    MAX ( 'Calendar'[Date] )
                        - EARLIER ( 'DDate'[Date] )
                )
                    <= MAX ( 'Age'[To] )
        )
    ),
    [Value1]
)
© www.soinside.com 2019 - 2024. All rights reserved.