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

Power BI度量值开发求助:统计近7天Measure<-0.1的天数

问题分析

需要创建度量值New_measure,实现:

  • 针对每个日期,统计**过去7天(含当日)**内Measure值小于-0.1的记录数
  • 适配现有切片器的筛选条件

原代码核心问题:

  1. 手动构建辅助表的方式易引发上下文冲突,计算逻辑不够稳定
  2. 未明确处理行上下文与筛选上下文的转换,导致结果不符合预期
修正后的DAX实现方案

以下两种方案均能满足需求,且完美适配切片器筛选:

方案一:时间智能函数+筛选上下文控制

New_measure = 
VAR CurrentDate = MAX('table'[Date])
-- 生成当前日期往前推7天的日期范围(包含当日)
VAR DateRange = DATESINPERIOD('table'[Date], CurrentDate, -7, DAY)
RETURN
CALCULATE(
    -- 统计范围内符合条件的记录数
    COUNTROWS(FILTER('table', [Measure] < -0.1)),
    -- 应用7天日期范围筛选
    DateRange,
    -- 保留切片器全局筛选,同时移除当前行的日期限制
    ALLSELECTED('table')
)

方案二:简化版(适用于每日仅一条记录的场景)

New_measure = 
VAR CurrentDate = MAX('table'[Date])
RETURN
CALCULATE(
    COUNTROWS('table'),
    [Measure] < -0.1,
    DATESINPERIOD('table'[Date], CurrentDate, -7, DAY),
    ALLSELECTED('table')
)
代码说明
  1. CurrentDate = MAX('table'[Date]):获取当前行上下文对应的日期
  2. DATESINPERIOD(...):自动生成连续7天的日期范围,无需手动计算日期差,兼容跨月/跨年场景
  3. CALCULATE(...):通过参数叠加实现筛选逻辑,ALLSELECTED('table')确保切片器筛选生效的同时,解除当前行日期对计算范围的限制
  4. COUNTROWS(FILTER(...)):精准统计范围内满足Measure < -0.1的记录数量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:56:17