首页 文章

DAX - 通过2维度区分SUM

提问于
浏览
0

我想在DAX Powerpivot中计算"Distinct Sum" . 我已经在这里找到了帮助:http://stackoverflow.com/questions/22613333/dynamic-sum-in-dax-picking-distinct-values

我的查询类似但进一步扩展 . 我正在寻找这种不同的Sum的解决方案,但是通过另外两个维度(月份国家)

在下面的数据示例中,部件号粒度的收入表现 . 在数据中还有商店维度,但是商店的重复收入是重复的 .

在上面提到的帖子中有以下解决方案:

Support:=MAX(Table1[Revenue])
DistinctSumOfRev:=SUMX(DISTINCT(Table1[Part_Num]),[Support])

如果您使用过滤器/列/行:国家和月,它是完美的工作 . 但是,如果所有国家/地区的汇总数量,或者整个季度的展示效果,那么解决方案会将MAX Revenue设置为所有国家/月份和部件号,这是不正确的 .

如何在上述解决方案中包括那两个额外的维度 . 基本上告诉DAX,独特的组合是PartNum国家月

Country Month   Part_Num    Shop    Revenue
----------------------------------------
UK      1       ABCD        X       1000
France  1       ABCD        X        500
France  1       ABCD        Y        500
UK      2       ABCD        X       1500
UK      2       ABCD        Y       1500
UK      1       FGHJ        X       3000
France  1       FGHJ        X        600
UK      2       FGHJ        X       2000

enter image description here

1 回答

  • 1

    将计算列添加到 Table1

    PartNumCountryMonth = [Part_Num]&[Country]&[Month]
    

    然后按如下方式创建度量:

    DistinctSumOfRev:=SUMX(DISTINCT(Table1[PartNumCountryMonth]),[Support])
    

    UPDATE: 替代解决方案,计算列为 NOT 必需:

    DistinctSumOfRev :=
    SUMX ( SUMMARIZE ( 'Table1', [Country], [Part_Num], [Month] ), [Support] )
    

    如果这有帮助,请告诉我 .

相关问题