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

Power BI (DAX) 如何编写计算差值总汇总并保留筛选的度量值

DAX 全局差值总和度量正确写法

现有代码问题

  • 仅迭代'dim table'[category]的唯一值计算差值,相同分类下的多条数据会被合并计算,导致求和漏项
  • ALLSELECTED仅清除了分类字段的筛选上下文,若表格还绑定了其他维度字段,会限制求和范围,无法统计所有可见行的差值

正确度量写法

通用写法(适配所有行维度组合)

直接迭代当前视觉对象的所有可见行计算差值后求和,会自动保留切片器、筛选器的全局筛选条件,仅清除表格单行的维度筛选:

sum of diff = SUMX(ALLSELECTED(), [Diff])

显式指定维度写法(性能更优)

如果要明确控制迭代的维度范围,可以手动指定表格用到的所有行维度:

sum of diff = 
CALCULATE(
    SUMX(
        SUMMARIZE(
            ALLSELECTED('table1'),
            'dim table'[category],
            -- 补充表格中用于区分同一分类下不同行的其他维度,比如日期、子分类等
            '其他维度表'[其他维度字段]
        ),
        [Diff]
    ),
    ALLSELECTED()
)

两种写法都可以实现你需要的效果:按示例数据会正确迭代4行数据求和0%+3%+0%+1%,所有行返回4%的总差值,符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:36:03