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

如何在PowerBI中基于开始日期最小值与结束日期最大值创建筛选

在PowerBI中基于日期极值创建筛选的度量值实现方法

你拥有包含Start date(开始日期)和End date(结束日期)的数据集,需要基于当前上下文下的最小开始日期、最大结束日期创建筛选,可通过以下DAX度量值实现:

1. 基础极值度量值

先创建两个度量值分别获取日期范围的极值:

  • 最小开始日期度量值

    Min Start Date = MIN('你的数据表名'[Start date])
    

    返回当前筛选上下文里Start date的最小值。

  • 最大结束日期度量值

    Max End Date = MAX('你的数据表名'[End date])
    

    返回当前筛选上下文里End date的最大值。

2. 筛选用度量值

根据你的筛选目标选择对应度量值:

场景1:筛选落在极值范围内的日期(需配合独立日期表)

如果使用了独立日期表,创建以下度量值来标记符合条件的日期:

In Date Range = 
VAR _minStart = [Min Start Date]
VAR _maxEnd = [Max End Date]
VAR _currentDate = SELECTEDVALUE('日期表'[Date])
RETURN
IF(_currentDate >= _minStart && _currentDate <= _maxEnd, 1, 0)

使用方式:将该度量值拖入筛选器面板,设置筛选条件为等于1,即可仅保留落在极值范围内的日期数据。

场景2:筛选原表中完全包含在极值范围内的行

如果要筛选原表中自身日期范围完全处于全局极值内的行,使用以下度量值:

Row In Range = 
VAR _minStart = [Min Start Date]
VAR _maxEnd = [Max End Date]
RETURN
IF(SELECTEDVALUE('你的数据表名'[Start date]) >= _minStart && SELECTEDVALUE('你的数据表名'[End date]) <= _maxEnd, 1, 0)

使用方式:将该度量值拖入筛选器面板,设置筛选条件为等于1,即可过滤出符合条件的表行。

注意事项

  • 所有代码中的你的数据表名、日期表需替换为你实际使用的表名称;
  • 建议使用独立日期表并与原表建立正确关系,这能提升筛选逻辑的准确性和报表性能;
  • 上下文筛选会影响极值计算结果——页面上的其他筛选器会先缩小数据集,再基于缩小后的数据集计算最小开始日期和最大结束日期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 15:15:09