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

如何用DAX统计Power BI中每日最后一小时的任务数量?

Power BI DAX统计每日最后一小时任务数的修正方案

问题描述

现有Raw Data表存储任务记录,包含任务类型、唯一标识、日期、完成小时字段;Dimension表为日期维度表,用于展示每日统计结果。原计算列LatestUnitsProcessed在8月31日返回正确结果3,但9月1日结果为空,原因是MAX('Raw Data'[Value4])未限定日期范围,取到了全局最大小时数10,而非9月1日的最大小时数8。

修正后的DAX公式

方法一:使用变量明确当日最大小时

LatestUnitsProcessed = 
VAR CurrentDate = 'Dimension'[Date]
VAR DailyMaxHour = 
    MAXX(
        FILTER('Raw Data', 'Raw Data'[Value3] = CurrentDate),
        'Raw Data'[Value4]
    )
RETURN
CALCULATE (
    DISTINCTCOUNT ( 'Raw Data'[Value2] ),
    'Raw Data'[Value3] = CurrentDate,
    'Raw Data'[Value4] = DailyMaxHour
)

方法二:嵌套CALCULATE限定日期上下文

LatestUnitsProcessed = 
CALCULATE (
    DISTINCTCOUNT ( 'Raw Data'[Value2] ),
    FILTER (
        'Raw Data',
        'Raw Data'[Value3] = 'Dimension'[Date]
            && 'Raw Data'[Value4] = CALCULATE(MAX('Raw Data'[Value4]), 'Raw Data'[Value3] = 'Dimension'[Date])
    )
)

原理说明

  • 方法一中通过VAR定义CurrentDate获取当前维度日期,再用MAXX筛选当日数据并计算最大小时数,最后基于这两个条件统计去重任务数。
  • 方法二中直接在筛选条件内用CALCULATE限定日期上下文,计算当日的最大小时数,确保过滤逻辑仅针对当日数据。

两种方法都能让MAX函数的计算范围限定在当前维度日期对应的Raw Data数据中,从而正确统计每日最后一小时的任务数量。

内容的提问来源于stack exchange,提问作者Darren Bartrup-Cook

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:48:20