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

Power BI中如何添加带筛选条件的总平均值列

解决DAX总平均值计算问题

问题分析

你当前的公式使用ALL(Data)会清除所有筛选器(包括页面/报表级的筛选),导致计算的是整个数据集的平均值,而非你期望的「当前筛选范围内的总平均」。另外,嵌套FILTER的写法可以简化,提升计算效率。

解决方案

步骤1:创建基础有效时间平均度量值

先处理无效值筛选,得到符合条件的时间平均值:

有效时间平均 = 
CALCULATE(
    AVERAGE(Data[Time]),
    Data[Time] <> 9999999,
    Data[Time] >= 0
)

步骤2:创建总平均值度量值

根据你的需求选择以下两种写法:

  1. 忽略表格内分组筛选,保留外部筛选(如页面切片器)
    适用于你希望总平均值受页面级筛选(比如选了某年份)影响,但不受表格内的月份/产品分组影响:

    总有效时间平均 = 
    CALCULATE(
        [有效时间平均],
        REMOVEFILTERS(Data)
    )
    
  2. 仅忽略指定分组列的筛选
    如果需要精确控制忽略哪些分组(比如只忽略月份,保留产品筛选),可以指定列名:

    总有效时间平均 = 
    CALCULATE(
        [有效时间平均],
        REMOVEFILTERS(Data[月份], Data[产品])
    )
    

步骤3:应用到表格

将总有效时间平均度量值添加到你的表格中,即可在每行显示当前筛选范围内的总平均值,或在表格末尾的总计行得到正确的整体平均。

关键说明

  • REMOVEFILTERS比ALL/ALLSELECTED更直观,它只会清除指定的筛选上下文,保留外部用户选择的筛选条件。
  • 避免直接在总平均公式中嵌套复杂筛选,通过基础度量值拆分逻辑,更容易调试和维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:15:41