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

Power BI中如何在SWITCH函数中使用通配符匹配日期?

实现按月份前缀匹配的MonthOrder自定义列方案

方案一:基于文本前缀匹配(适配原文本格式)

直接提取DateText的前3个字符(月份缩写)进行匹配,无需关注后续年份,修改后的DAX公式如下:

MonthOrder = 
SWITCH(
    LEFT([DateText], 3),
    "Apr", 1,
    "May", 2,
    "Jun", 3,
    "Jul", 4,
    "Aug", 5,
    "Sep", 6,
    "Oct", 7,
    "Nov", 8,
    "Dec", 9,
    "Jan", 10,
    "Feb", 11,
    "Mar", 12,
    BLANK() // 可选:添加不匹配时的默认返回值
)

说明:LEFT([DateText], 3)会提取日期文本的前3位(比如从Apr-2025中取出Apr),SWITCH根据这个固定前缀返回对应的排序值,无论后续年份如何变化,都能正确匹配。

方案二:基于日期转换的动态计算(推荐格式规范的场景)

如果DateText可以被Power BI识别为合法日期格式,推荐用日期函数动态计算排序值,避免硬编码月份缩写:

MonthOrder = 
VAR CurrentMonth = MONTH(DATEVALUE([DateText]))
RETURN
    // 4月及以后的月份,排序值为月份-3;1-3月则为月份+9
    IF(CurrentMonth >= 4, CurrentMonth - 3, CurrentMonth + 9)

说明:先通过DATEVALUE将文本转成日期,用MONTH提取月份数字,再通过简单的条件计算得到你需要的排序规则,这个方案扩展性更强,无需每年更新公式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:25:57