DAX 公式通过“隐藏”组/字段求和

问题描述 投票:0回答:1

我有一个包含以下数据的表格:

客户 类别 产品 颜色 数量
A 阿尔法 抄送 蓝色 200
A 阿尔法 RI 红色 100
B 阿尔法 抄送 蓝色 100
B 阿尔法 FA 蓝色 50
B 阿尔法 RI 红色 100
C 阿尔法 EL 蓝色 200

我想按除“客户”之外的所有列汇总 Excel 数据透视表中的数据,如下所示:

类别 产品 颜色 数量总和 数量_客户
阿尔法 抄送 蓝色 300 550
阿尔法 EL 蓝色 200 200
阿尔法 FA 蓝色 50 250
阿尔法 RI 红色 200 550

度量“Quantity_Customer”应显示具有适当类别/产品/颜色的所有“客户”的总数。

例如: 第一行中度量“Quantity_Customer”的值应为 550,因为客户 A(总数量为 300)和客户 B(总数量为 250)都具有文章 Alpha/CC/Blue(类别/产品/颜色)。

我尝试了以下 DAX:

=CALCULATE(SUM(Table5[Quantity]);ALLEXCEPT(Table5;Table5[Customer]))

但这仅在客户显示为表中的列(数据透视)时才有效。 否则,“Quantity_Customer”的值始终显示为 750。

有没有办法按客户求和数量,即使该字段是“隐藏”的?

excel pivot dax
1个回答
0
投票

我计算了外部 SUMX 函数识别的每个客户的数量总和,并保留了除客户之外的所有其他列的上下文。 ALLEXCEPT 将从除指定列之外的所有列中删除过滤器,从而保持 Customer 上下文完整。 T

   Quantity_Customer = 
    SUMX(
        VALUES(Table5[Customer]), 
        CALCULATE(
            SUM(Table5[Quantity]), 
            ALLEXCEPT(Table5, Table5[Customer])
        )
    )

© www.soinside.com 2019 - 2024. All rights reserved.