【问题标题】:DAX - Distinct SUM thru 2 dimensionsDAX - 通过 2 个维度的不同 SUM
【发布时间】:2017-02-22 19:59:57
【问题描述】:

我正在尝试在 DAX Powerpivot 中计算“不同和”。我已经在这里找到了帮助:http://stackoverflow.com/questions/22613333/dynamic-sum-in-dax-picking-distinct-values

我的查询类似但进一步扩展。我正在寻求为这种不同的总和找到解决方案,但要通过两个额外的维度(月 + 国家/地区)

在下面的数据示例中,有关于零件编号粒度的收入表现。在 Data 中也有 Shop Dimension,但是 Revenue 在商店中重复,是重复的。

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

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

如果您使用过滤器/列/行:国家和月份,它可以完美地工作。 但如果汇总所有国家/地区,或显示整个季度的业绩,则解决方案将设置 MAX Revenue thru all countries/Months for and Part Number,这是不正确的。

如何将这两个附加维度包含到上述解决方案中。 基本上是告诉 DAX 唯一的组合是 PartNum+Country+Month

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

【问题讨论】:

    标签: excel sum distinct powerpivot dax


    【解决方案1】:

    将计算列添加到您的Table1

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

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

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

    更新

    替代解决方案,计算列是必需的:

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

    【讨论】:

    • 是的,我正在考虑连接这些字段。仍然很好奇是否还有其他解决方案。会试试这个,让你知道。一般应该可以。
    • @milanminarovic,我在不需要计算列的情况下为我的答案添加了替代解决方案。我不喜欢用表格计算来混淆我的度量,但在这种情况下这会更容易。
    • 我刚刚使用了第一个解决方案和新的连接列,它按预期工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    相关资源
    最近更新 更多