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

PowerBI日期格式转换及月份列提取问题求助

解决Power Query日期格式转换及月份列生成问题

问题根源

你之前的公式报错,是因为原日期列是文本格式(比如Dec 3, 2023 · 11:32 AM UTC),而Date.Day/Month/Year这类函数只能处理Power Query原生的日期/时间类型,直接对文本使用会触发错误。必须先把文本转成日期时间类型,再做后续处理。

分步操作

  1. 将文本日期转换为日期时间类型
    在Power Query编辑器中添加自定义列,使用以下公式解析文本:

    = DateTime.FromText([date], [Format="MMM d, yyyy · hh:mm tt UTC", Culture="en-US"])
    

    说明:Format参数完全匹配原文本的结构,Culture指定英文格式解析,确保月份缩写(Dec)能被正确识别。

  2. 生成DD-MM-YYYY格式的日期列
    基于转换后的日期时间列,添加新的自定义列:

    = Date.ToText(Date.From([转换后的日期时间]), "dd-MM-yyyy")
    

    或者直接用日期时间转文本(自动提取日期部分):

    = DateTime.ToText([转换后的日期时间], "dd-MM-yyyy")
    
  3. 生成单独的月份名称列
    同样基于转换后的日期时间列,添加自定义列获取月份缩写:

    = Date.MonthName([转换后的日期时间], "en-US")
    

    如果需要中文月份名称,把Culture参数改成"zh-CN"即可。

可选简化:一步生成目标列

如果不想保留中间的日期时间列,可以把步骤合并:

  • 生成DD-MM-YYYY日期:
    = Date.ToText(Date.From(DateTime.FromText([date], [Format="MMM d, yyyy · hh:mm tt UTC", Culture="en-US"])), "dd-MM-yyyy")
    
  • 生成月份名称:
    = Date.MonthName(DateTime.FromText([date], [Format="MMM d, yyyy · hh:mm tt UTC", Culture="en-US"]), "en-US")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:52:34