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

如何通过DAX实现日期范围内项目累计总数的趋势统计?

用CALCULATE实现项目数的累计统计(时间趋势折线图)

你的核心问题是原表达式仅统计完全落在当前筛选时间段内的项目,无法实现随时间推进的累计效果。要通过CALCULATE实现时间维度的累计统计,需针对图表上的每个时间点(如日/月/年),遍历历史范围筛选符合条件的项目。

以下分两种常见需求给出DAX表达式:

1. 累计已启动项目数(增长趋势)

统计到当前时间点为止,所有已经启动(since_day ≤ 当前时间)的项目总数,适合展示项目数量的持续增长:

累计已启动项目数 = 
CALCULATE(
    COUNTROWS(items),
    // 清除时间表的筛选,保留到当前时间点的所有历史日期
    FILTER(ALL(timetable), timetable[day] <= MAX(timetable[day])),
    // 筛选启动时间早于等于当前时间点的项目
    items[since_day] <= MAX(timetable[day])
)

2. 当前活跃项目数(波动趋势)

统计当前时间点仍处于活跃状态的项目(since_day ≤ 当前时间且 to_day ≥ 当前时间),适合展示项目生命周期的波动:

当前活跃项目数 = 
CALCULATE(
    COUNTROWS(items),
    items[since_day] <= MAX(timetable[day]),
    items[to_day] >= MAX(timetable[day])
)

关键说明

  • 原表达式中FIRSTDATE和LASTDATE仅取当前筛选时间段的首尾日期,导致只能统计该时间段内完全覆盖的项目;而上述表达式用MAX(timetable[day])获取图表当前轴的时间点,结合ALL(timetable)扩展历史范围,实现逐点累计统计。
  • 将上述度量值拖入折线图,轴选择时间表的day字段(可按月/年聚合),即可得到对应的趋势曲线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:40:13