You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按维度分组求最大值之和:DAX公式结果错误寻求修正

修正DAX公式:按维度分组的最大值之和

你的原公式在无额外筛选上下文的情况下可以正常计算每个dimension1分组的最大值之和,但如果报表中存在其他筛选器(比如切片器、行/列维度),VALUES(T1[dimension1])会返回当前筛选范围内的dimension1值,同时CALCULATE(MAX(T1[Value]))可能受其他维度筛选干扰,导致结果不符合预期。

以下分两种场景给出修正方案:

场景1:计算全局所有dimension1分组的最大值之和(不受外部筛选影响)

如果需要忽略报表中的其他筛选条件,始终计算所有dimension1分组的最大值总和,使用以下公式:

sum_of_max = 
SUMX(
    ALL(T1[dimension1]),  // 获取所有不重复的dimension1值,不受外部筛选限制
    CALCULATE(
        MAX(T1[Value]),
        ALLEXCEPT(T1, T1[dimension1])  // 仅保留dimension1的筛选上下文,确保每个分组取全局最大值
    )
)

场景2:计算当前筛选上下文内dimension1分组的最大值之和(响应外部筛选)

如果需要跟随报表中的其他筛选(比如仅计算选中维度范围内的dimension1最大值之和),使用以下微调后的公式,确保MAX计算仅受dimension1分组控制:

sum_of_max = 
SUMX(
    VALUES(T1[dimension1]),
    CALCULATE(
        MAX(T1[Value]),
        ALLEXCEPT(T1, T1[dimension1])  // 清除其他维度的筛选,确保每个dimension1分组取当前筛选下的最大值
    )
)

关键说明

ALLEXCEPT(T1, T1[dimension1])的核心作用是清除除dimension1之外的所有筛选上下文,保证每个dimension1分组的MAX(Value)计算仅基于该分组内的数据,避免其他维度的筛选干扰结果。

内容的提问来源于stack exchange,提问作者Tom_pl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:05:24