DAX – 通过2个维度区别SUM

我正在计算DAX Powerpivot中的“​​Distinct Sum”。 我已经find了帮助: http : //stackoverflow.com/questions/22613333/dynamic-sum-in-dax-picking-distinct-values

而我的查询是相似的,但进一步扩大。 我正在寻求解决这种不同的总和,但通过两个额外的维度(月+国家)

在下面的数据示例中,零件号粒度的收益性能。 在数据中也有商店维度,但收入重复在商店,是重复的。

在上面提到的职位有以下解决scheme:

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

如果你使用filter/列/行:国家和月份,这是完美的工作。 但是,如果汇总到所有国家,或在整个季度performance出色,那么解决scheme将设置MAX收入通过所有国家/月份和部件号,这是不正确的。

如何在上面的解决scheme中包含这两个额外的维度。 基本上告诉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 

在这里输入图像说明

将计算列添加到您的Table1

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

然后创build你的措施如下:

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

更新:替代解决scheme,计算列不是必需的:

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

让我知道这是否有帮助。