DAX:PRODUCTX 各类别结果的总和

DAX: Summing of PRODUCTX results over categories

我正在根据以下逻辑进行销售预测 table: 我们有 2019 年的完整销售 table,其中产品按集群分类,如果需要,在每个国家/地区的集群内的子类别中。 (LUT_Sales19) 对于每个国家和子类别,我们还有一个 Excel table 到 2025 年的年度预期增长率。(I_Growth)

我想通过将 2019 年的相应销售额乘以复合增长率来计算 x 年和 y 类的预期销售额。 (例如,如果我们有英国的销售数字 x,对于 2019 年的类别 1,2020 年、2021 年和 2022 年的增长率分别为 1%、2% 和 3%,则 2022 年的预期销售额为 x * (1+1 %) * (1+2%) * (1+3%).)

所有计算都应在 PowerPivot 中进行,并带有度量值。 到目前为止,我能够获得 2019 年的销售数据作为每年计算的基础:

VAR Sales2019 =
          CALCULATE(SUM(LUT_Sales19[Net_Sales]), ALL(LUT_date_year[Year]))

我也可以获得复合增长率:

VAR CumGrowth =
          CALCULATE(PRODUCTX(I_Growth, 1+I_Growth[Growth]),
             FILTER (ALL ( LUT_date_year ) ,LUT_date_year[Year] +1<= MAX ( LUT_date_year[Year])))

由此产生的数据透视表 table 对于类别是正确的,但除 2019 年以外的每一年,集群的总和和总计都是不正确的。 这是我使用的衡量标准:

IF(MAX(LUT_date_year[Year])=2019,
   Sales2019, 
   CALCULATE(SUMX(LUT_Sales19, LUT_Sales19[Net_Sales]*CumGrowth), ALL(LUT_date_year[Year]))
   )

我认为使用 SUMX 可以解决问题,但它仍然存在,我 运行 没有想法。

我错过了什么?

提前感谢您的帮助。

经过一番研究,这个 post 帮助我理解了这个问题: https://community.powerbi.com/t5/Desktop/DAX-sum-the-measure-values-in-total-and-Not-the-calculated/td-p/740509

事实证明,我需要两个额外的措施:一个是对类别的 VALUES 求和以使集群计算正确,另一个是通过对集群的 VALUES 求和来获得总计。第三个度量具有类别、集群和总计的正确值。

因此,要计算类别的值:

Sales_CAT:=VAR Sales2019 =
          CALCULATE(SUM(LUT_Sales19[Net_Sales]),ALL(LUT_date_year[Year]))

VAR CumGrowth = 计算(PRODUCTX(I_Growth ,1+I_Growth[增长]) , FILTER (ALL ( LUT_date_year ) ,LUT_date_year[年] +1<= MAX ( LUT_date_year[年]))) RETURN

IF(MAX(LUT_date_year[年])=2019 , 销售 2019 年, Sales2019 * CumGrowth )

然后获取每个集群的总和:

Sales_Cluster:=SUMX(VALUES(LUT_CAT_Cluster[Categories]), LUT_Sales19[Sales_CAT])

最后获取类别、集群和总计的值:

Sales_GrandTotal:=SUMX(VALUES('LUT_Countries'[Country_ID]), LUT_Sales19[Sales_Cluster])

在枢轴 table 中,我必须使用 Sales_GrandTotal 措施,一切都很好。