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

按月份计算75%最短处理时长平均值的DAX实现问题

按月份计算75%最短处理时长平均值的解决方法

问题根源

你当前的度量值是基于全局数据计算75%的条目数,而非每个月份独立计算,导致最终平均值不符合预期。需要让DAX计算时锁定「月份」的筛选上下文,确保每个月单独统计75%最短数据的平均值。

解决方案

方法1:创建单一整合度量值

直接在一个度量值中完成月度条目数计算、取数数量确定、平均值计算三个步骤,逻辑更清晰:

月度75%最短时长平均值 = 
VAR 当月总条目数 = CALCULATE(COUNT('data'[col1]), ALLEXCEPT('data', 'data'[月份列]))
VAR 需取条目数 = ROUNDDOWN(当月总条目数 * 0.75, 0)
RETURN
CALCULATE(
    AVERAGE('data'[value]),
    TOPN(需取条目数, 'data', 'data'[value], ASC),
    ALLEXCEPT('data', 'data'[月份列])
)

说明:ALLEXCEPT('data', 'data'[月份列])的作用是保留当前月份的筛选条件,移除其他无关筛选,确保所有计算都仅针对当前月份的数据。

方法2:修改现有度量值适配月度上下文

如果你想保留原有的75% shortest度量值,先修改它使其响应月份筛选:

75% shortest = ROUNDDOWN(CALCULATE(COUNT('data'[col1]), ALLEXCEPT('data', 'data'[月份列])) * 0.75, 0)

然后调整平均值度量值,确保计算范围锁定在当前月份:

average = 
CALCULATE(
    AVERAGE('data'[value]),
    TOPN([75% shortest], 'data', 'data'[value], ASC),
    ALLEXCEPT('data', 'data'[月份列])
)

后续操作

  1. 在Power BI的可视化组件(如矩阵、表格)中,将「月份列」拖入行/列区域,上述度量值拖入值区域,即可看到每个月份的75%最短时长平均值。
  2. 如果需要计算所有月度平均值的整体均值(即你提到的期望结果2.42),可以再创建一个度量值:
整体月度均值 = AVERAGEX(VALUES('data'[月份列]), [月度75%最短时长平均值])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:03:32