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

求Power BI中[STORY COMPLETED]指标的30天滚动平均DAX度量值

30天滚动平均DAX度量值解决方案

现有度量值确认

你当前统计完成故事数的度量值是正确的:

STORY COMPLETED = CALCULATE(COUNT(SprintReportIssues[SPRINT_REPORT_STATUS]), SprintReportIssues[SPRINT_REPORT_STATUS] = "COMPLETED")

30天滚动平均度量值

以下是实现30天滚动平均的DAX表达式,完全匹配你示例中的连续值平均逻辑:

STORY COMPLETED 30天滚动平均 = 
VAR 当前日期 = MAX(SprintReportIssues[日期列]) -- 替换为你表中实际的日期字段名
VAR 滚动日期范围 = DATESINPERIOD(SprintReportIssues[日期列], 当前日期, -30, DAY)
RETURN
AVERAGEX(
    滚动日期范围,
    [STORY COMPLETED]
)

必看注意事项

  • 替换日期列:把代码里的[日期列]换成你表中存储日期的实际字段,比如SprintReportIssues[SPRINT_END_DATE]。
  • 日期表建议:如果模型没有独立日期表,建议新建一个并标记为日期表,避免上下文过滤导致计算错误;若使用原表日期列,需确保无重复或无效日期。
  • 空值处理:若某天无完成数据,原度量值会返回空白,滚动平均会忽略该天。如需将空白视为0参与计算,修改原度量值:
    STORY COMPLETED = CALCULATE(COUNT(SprintReportIssues[SPRINT_REPORT_STATUS]), SprintReportIssues[SPRINT_REPORT_STATUS] = "COMPLETED") + 0
    
  • 范围调整:若需排除当前日期,仅计算前30天,将滚动日期范围修改为:
    VAR 滚动日期范围 = DATESBETWEEN(SprintReportIssues[日期列], 当前日期 - 30, 当前日期 - 1)
    

逻辑说明

  1. 当前日期提取当前行对应的上下文最大日期。
  2. 滚动日期范围生成从当前日期往前30天的连续日期区间。
  3. AVERAGEX遍历区间内的每一天,计算当日STORY COMPLETED值后取平均值,和你示例中(19+18+13)/3这类计算逻辑完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:50:29