PowerBI日期格式转换及月份列提取问题求助
解决Power Query日期格式转换及月份列生成问题
问题根源
你之前的公式报错,是因为原日期列是文本格式(比如Dec 3, 2023 · 11:32 AM UTC),而Date.Day/Month/Year这类函数只能处理Power Query原生的日期/时间类型,直接对文本使用会触发错误。必须先把文本转成日期时间类型,再做后续处理。
分步操作
将文本日期转换为日期时间类型
在Power Query编辑器中添加自定义列,使用以下公式解析文本:= DateTime.FromText([date], [Format="MMM d, yyyy · hh:mm tt UTC", Culture="en-US"])说明:
Format参数完全匹配原文本的结构,Culture指定英文格式解析,确保月份缩写(Dec)能被正确识别。生成DD-MM-YYYY格式的日期列
基于转换后的日期时间列,添加新的自定义列:= Date.ToText(Date.From([转换后的日期时间]), "dd-MM-yyyy")或者直接用日期时间转文本(自动提取日期部分):
= DateTime.ToText([转换后的日期时间], "dd-MM-yyyy")生成单独的月份名称列
同样基于转换后的日期时间列,添加自定义列获取月份缩写:= 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
相关产品推荐
相关产品推荐

