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

如何在Power BI中编写DAX度量值统计双日期列符合条件的行数

DAX度量值解决方案:统计指定日期范围内的有效记录行数

需求回顾

需要统计同时满足以下条件的记录行数:

  • Work Date ≤ 指定基准日期
  • Paid Date ≥ 指定基准日期
    已知测试结果:
  • 基准日期为2023/10/1时,返回4条记录
  • 基准日期为2023/11/1时,返回5条记录
    数据模型包含激活与非激活的表关系。

正确DAX写法

适配日期维度表的通用版本

有效记录数 = 
VAR 选定基准日期 = SELECTEDVALUE('日期表'[日期])
RETURN
CALCULATE(
    COUNTROWS('事实表'),
    '事实表'[Work Date] <= 选定基准日期,
    '事实表'[Paid Date] >= 选定基准日期,
    -- 若Paid Date/Work Date与日期表为非激活关系,取消注释以下行并替换对应字段
    -- USERELATIONSHIP('事实表'[Paid Date], '日期表'[日期]),
    ALL('日期表') -- 清除日期表的上下文筛选,确保计算基于指定基准日期
)

无日期维度表版本(直接用切片器选日期)

有效记录数 = 
VAR 选定基准日期 = SELECTEDVALUE('事实表'[筛选日期]) -- 替换为切片器绑定的日期字段
RETURN
CALCULATE(
    COUNTROWS('事实表'),
    '事实表'[Work Date] <= 选定基准日期,
    '事实表'[Paid Date] >= 选定基准日期
)

关键说明

  1. 上下文控制:ALL('日期表')用于消除日期表的默认筛选上下文,确保计算仅基于用户选定的基准日期,不受其他日期筛选器干扰。
  2. 非激活关系处理:如果Work Date或Paid Date与日期表的关系为非激活状态,必须通过USERELATIONSHIP函数显式调用该关系,否则筛选条件无法生效。
  3. 日期取值:SELECTEDVALUE用于获取用户通过切片器、卡片等交互方式选定的日期,若需固定测试日期,可替换为DATE(2023,10,1)这类固定日期表达式。

测试验证

  • 选定基准日期为2023/10/1时,度量值返回4条记录,符合预期
  • 选定基准日期为2023/11/1时,度量值返回5条记录,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:12:16