小计 <> 行总和

Subtotal <> sum of the rows

我是 DAX 的相对新手,所以请多多包涵。用最简单的话来说,我想将所有非欧洲地区的度量值加倍,然后对结果求和。这是一些 DAX 示例:

DEFINE
    
measure Fact[test] = CALCULATE (IF(SELECTEDVALUE('Dim'[Region]) = "Europe", Fact[Revenue],Fact[Revenue] * 2))

EVALUATE(
    SUMMARIZECOLUMNS(
        ROLLUPADDISSUBTOTAL('Dim'[Region], "RegionSubtotal"),
        "Original Measure", Fact[Revenue],
        "New Measure", Fact[test]
    )
)
Region RegionSubtotal Original Measure New Measure
Asia False 200 400
Americas False 500 1000
Europe False 300 300
True 1000 2000

我正在尝试为第二列获取 (400+1000+300) = 1700 而不是 2000。有什么想法吗?

对于小计行,所选值不是“欧洲”,因此将值加倍。

要解决此问题,您需要迭代测量中的区域。像这样:

test =
    SUMX (
        VALUES ( 'Dim'[Region] ),
        IF (
            'Dim'[Region] = "Europe",
            [Revenue],
            [Revenue] * 2
        )
    )

另一种选择是创建一个计算列,其中 ,如果 region<>Europe,则 amount* 2 else amount。 然后取计算列的总和,但这就像有一个额外的数据。