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

如何在DAX度量值中传递切片器的多个选中值?

解决DAX切片器多选时的度量值问题

这问题我碰到过不少次,核心原因是你用的SelectedValue(Orders[Category])只在切片器恰好选中单个值时才会返回有效结果——一旦选了多个值,它就会返回空白,导致你的FILTER条件直接失效,自然算不出正确的总和。

解决方案:用VALUES代替SelectedValue处理多选场景

VALUES(Orders[Category])会返回当前切片器选中的所有分类组成的单列表,不管是选1个、多个还是全选,都能准确获取选中的集合。

写法1:用FILTER+IN判断(直观易懂)

Selected Categories Total = 
CALCULATE(
    SUM(Orders[Amount]),
    FILTER(
        ALL(Orders), // 清除Orders表的所有原有筛选
        Orders[Category] IN VALUES(Orders[Category]) // 判断当前行是否在选中的分类集合里
    )
)

写法2:简化版(更符合DAX的简洁风格)

其实CALCULATE可以直接把筛选条件组合起来,不用嵌套FILTER,效果完全一样:

Selected Categories Total = 
CALCULATE(
    SUM(Orders[Amount]),
    ALL(Orders), // 清除所有原有筛选
    VALUES(Orders[Category]) // 应用选中的分类筛选
)

额外场景:如果需要保留其他筛选条件(比如日期筛选)

如果你的需求不是清除所有筛选,而是只忽略Category的原有筛选,保留其他列(比如Date)的筛选,那把ALL(Orders)换成ALL(Orders[Category])就行:

Selected Categories Total (Keep Other Filters) = 
CALCULATE(
    SUM(Orders[Amount]),
    ALL(Orders[Category]), // 只清除Category的筛选
    VALUES(Orders[Category]) // 应用选中的分类筛选
)

这样不管你在切片器里选几个分类,度量值都能准确计算出对应分类的金额总和啦!

内容的提问来源于stack exchange,提问作者Student of the Digital World

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:53:22