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

DAX中MAXX函数参数使用ALL与VALUES的区别是什么?

ALL(Product['Name']) 与 VALUES(Product['Name']) 在 MAXX 中的差异

1. 数据范围的核心区别

  • ALL(Product['Name']):完全无视当前的筛选上下文,返回整个Product表中所有不重复的Name值。不管页面上有没有切片器筛选、行级筛选,它都只认原始表的全部产品名称。
  • VALUES(Product['Name']):严格遵循当前筛选上下文,返回筛选后剩余的不重复Name值。如果有筛选条件(比如选了某个产品类别),它只会返回符合条件的产品名称;没有筛选时,结果和ALL一致,但只要筛选变化,它的返回结果也跟着变。

2. 筛选上下文的响应差异

举个实际例子:假设Product表有「类别」和「名称」字段,且你在报表中筛选了类别为「电子产品」。

  • 用MAXX(ALL(Product['Name']), [销售额]):计算的是所有产品(包括非电子产品)的最高销售额,完全不受当前类别筛选的影响。
  • 用MAXX(VALUES(Product['Name']), [销售额]):计算的是仅电子产品范围内的最高单品销售额,只在筛选后的产品集合里找最大值。

3. 重复值与空白值的处理

两者都会返回不重复的Name值,但:

  • ALL是从原始全表去重,只要原表存在的Name(包括空白值)都会被返回;
  • VALUES是从筛选后的结果去重,只有筛选后存在的Name(含空白值,如果筛选后有)才会被返回。

4. 适用场景差异

  • 当你需要忽略当前筛选、计算全局维度的最大值时,用ALL,比如做「当前类别销售额占全局最高销售额的比例」这类计算;
  • 当你需要在当前筛选范围内找最大值时,用VALUES,比如展示「当前筛选条件下的Top1单品销售额」。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 23:33:12