You need to enable JavaScript to run this app. Power Query中如何将日期转换为CYYDDD结构的Julian Date格式
优惠活动
大模型
产品
解决方案
定价
更多

Power Query中如何将日期转换为CYYDDD结构的Julian Date格式

目标格式校验

对照给定示例120001 = 01.01.2020拆解结构:

  • 首位为世纪偏移标识C:2020年属于21世纪,对应C=1
  • 中间两位为年份后两位YY:2020年对应YY=20
  • 末三位为当年年内日序号DDD:2020年1月1日是当年第1天,对应DDD=001
    三者拼接得到120001,完全匹配示例值,属于常用的CYYDDD结构工业儒略日(Julian Date),和天文领域使用的连续数值型儒略日不是同一套规则。
Power Query 转换操作流程
  • 前置检查:确认待转换的日期列是Power Query原生日期/日期时间类型,若为文本格式的日期值,先通过Table.TransformColumnTypes完成类型转换,避免计算报错。
  • 新增自定义列:在自定义列公式框中输入如下对应计算逻辑的代码,即可生成匹配规则的儒略日值:
    Number.ToText(((Date.Year([你的日期列名]) - 2000) div 100) + 1) & Number.ToText(Date.Year([你的日期列名]) mod 100, "00") & Number.ToText(Date.DayOfYear([你的日期列名]), "000")
    
    公式校验:代入2020年1月1日计算,((2020-2000) div 100)+1 得到C值1,年份取余100得到YY段"20",Date.DayOfYear返回值1格式化得到DDD段"001",拼接结果为120001,和示例完全一致。
  • 列类型调整:
    • 若需要保留固定长度的字符串格式(比如保留DDD段的前导零),将自定义列的类型设置为文本即可
    • 若需要纯数值存储,可直接将列类型调整为整数,此时会自动去掉前置的无意义零值

注意:公式内置了年份偏移计算逻辑,当日期落在2100-2199区间时,C值会自动计算为2,不需要手动修改规则;如果企业内部有自定义的世纪映射规则(比如2000-2099年C值固定取0),仅需要把C值计算部分的+1去掉即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 03:54:01