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

如何用单个年月切片器独立过滤Power BI多日期列

解决方案:用独立日期维度表+DAX实现全局年月筛选

要实现单个年份/月份切片器同时过滤多个日期列,核心思路是脱离原生表关系,用DAX度量值判断工单是否满足任意日期列落在所选年月范围内,具体步骤如下:

1. 创建独立日期维度表

首先生成一个不含业务数据的纯日期表,作为全局切片器的数据源(不要和工单表的任何日期列建立关系):

日期维度表 = 
ADDCOLUMNS (
    CALENDAR ( DATE(2020, 1, 1), TODAY() ), // 按需调整日期范围
    "年份", YEAR([Date]),
    "月份", MONTH([Date]),
    "年月", FORMAT([Date], "YYYY-MM") // 可选,用于年月组合切片
)

将该表的「年份」「月份」字段拖到页面,作为全局筛选切片器。

2. 编写筛选判断度量值

创建度量值,判断每一行工单是否存在任意一个日期列(开单/关单/重开)落在所选年月:

是否符合日期筛选 = 
VAR 选中年份 = SELECTEDVALUE('日期维度表'[年份])
VAR 选中月份 = SELECTEDVALUE('日期维度表'[月份])
VAR 当前开单日期 = MAX('工单表'[Open Date])
VAR 当前关单日期 = MAX('工单表'[Close Date])
VAR 当前重开日期 = MAX('工单表'[Reopen Date])
RETURN
OR(
    // 开单日期匹配
    AND(YEAR(当前开单日期)=选中年份, MONTH(当前开单日期)=选中月份),
    // 关单日期匹配(处理空值)
    AND(NOT(ISBLANK(当前关单日期)), YEAR(当前关单日期)=选中年份, MONTH(当前关单日期)=选中月份),
    // 重开日期匹配(处理空值)
    AND(NOT(ISBLANK(当前重开日期)), YEAR(当前重开日期)=选中年份, MONTH(当前重开日期)=选中月份)
)

将这个度量值添加到可视化组件的「筛选器」面板,设置为等于1,即可只显示满足条件的工单。

3. 针对SLA统计的扩展(可选)

如果需要分别统计所选年月内的开单、关单、重开数量,可单独编写度量值:

所选年月开单量 = 
VAR 选中年份 = SELECTEDVALUE('日期维度表'[年份])
VAR 选中月份 = SELECTEDVALUE('日期维度表'[月份])
RETURN
CALCULATE(
    COUNT('工单表'[Open Date]),
    YEAR('工单表'[Open Date])=选中年份,
    MONTH('工单表'[Open Date])=选中月份
)

同理编写「所选年月关单量」「所选年月重开量」,这些度量值会自动响应全局日期切片器的筛选。


内容的提问来源于stack exchange,提问作者Serge Inácio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 18:35:30