如何在不同的粒度上进行不同的计算?

How to different calculation on different granularity?

我想实现以下目标:

想法是在以下场景中计算和积:

如何在 DAX 中实现这一点?!

这在一定程度上取决于您的数据模型的外观...

使用这样的模型:

您的 DAX 指标可能如下所示:

Weighted Amount = 
    SWITCH ( 
        TRUE(),
        ISINSCOPE ( Level2[Level 2] ), 
        SELECTEDVALUE ( Level2[Amount] ),
        ISINSCOPE ( Level1[Level 1] ),
        SUMX ( 
            Level2,
            Level2[Amount] * Level2[Weight 2]
        ),
        SUMX ( 
            Level1,
            CALCULATE ( 
                SUMX ( 
                    Level2,
                    Level2[Amount] * Level2[Weight 2]
                )
            ) * Level1[Weight 1]
        )
    )

我们使用 SWITCHISINSCOPE 来确定评估度量的级别,然后遵循每个级别的业务逻辑。