大数跨境

如何利用PowerQuery将特殊文本日期转换为正常日期?

如何利用PowerQuery将特殊文本日期转换为正常日期? PowerBI星球
2022-11-16
26

Power Query中非标准日期格式的三种转换方法

轻松处理英式、自定义分隔符等文本日期

在使用Power Query导入数据时,日期字段常以文本形式存在,需手动转换为标准日期类型。对于常见的“年月日”或“月日年”格式,可直接通过字段类型图标进行转换。但遇到英式“日月年”或其他非标准格式(如以星号分隔)时,直接转换会导致错误或结果不准确。

例如,将“09/08/2022”按默认设置转换,系统误判为“月日年”,结果变为“2022年9月8日”,实际应为“2022年8月9日”。当日期中的“日”大于12时,系统无法识别,返回错误。为此,提供以下三种解决方案:

1. 修改区域设置

点击字段左侧类型图标,选择“使用区域设置”,在弹出窗口中将数据类型设为“日期”,区域选择“英语(英国)”。此方法适用于明确知道日期所属地区的情况。

2. 使用Date.FromText函数的Culture参数

通过添加自定义列,调用M函数Date.FromText,并指定Culture参数为"en-GB",适用于英式日期格式:

Date.FromText([日期],"en-GB")

3. 使用Date.FromText函数的Format参数(推荐)

该方法无需知晓日期所属区域,只需根据文本规律构造格式模板。例如,“日/月/年”可写为:

Date.FromText([日期],[Format="d/M/yyyy"])

注意:月份必须用大写M,小写m表示分钟。该方法灵活性强,可处理非常规分隔符,如“日*月*年”:

Date.FromText([日期],[Format="d*M*yyyy"])

甚至适用于无分隔符的八位数字日期,只需调整格式表达式即可。

综上,推荐掌握第三种方法,利用Date.FromText函数的Format参数,可高效应对各类非标准文本日期转换需求。

【声明】内容源于网络
0
0
PowerBI星球
1234
内容 923
粉丝 0
PowerBI星球 1234
总阅读38.6k
粉丝0
内容923