关于FR中日期转化处理

FR日期格式处理常用公式

概述

FR报表中经常需要处理各种格式的日期字符串,本文档整理了常用的日期格式转换公式和技巧。

常用日期格式转换

1. "DD-MMM-YY" 格式转换

格式示例: 01-Aug-20

转换公式:

TODATE(DATE(
    CONCATENATE("20", RIGHT("01-Aug-20", 2)),
    INARRAY(MID("01-Aug-20", 4, 3), 
           ARRAY("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")),
    LEFT("01-Aug-20", 2)
))

公式解析:

  • RIGHT("01-Aug-20", 2) → 提取年份 "20"
  • MID("01-Aug-20", 4, 3) → 提取月份 "Aug"
  • LEFT("01-Aug-20", 2) → 提取日期 "01"
  • INARRAY() → 将英文月份转换为数字月份
  • CONCATENATE("20", ...) → 补全4位年份

2. "YYYY/MM/DD" 格式转换

格式示例: 2023/08/15

转换公式:

TODATE("2023/08/15", "yyyy/MM/dd")

3. "DD.MM.YYYY" 格式转换

格式示例: 15.08.2023

转换公式:

TODATE(
    RIGHT("15.08.2023", 4) + "/" + 
    MID("15.08.2023", 4, 2) + "/" + 
    LEFT("15.08.2023", 2), 
    "yyyy/MM/dd"
)

4. "YYYYMMDD" 数字格式转换

格式示例: 20230815

转换公式:

TODATE(
    LEFT("20230815", 4) + "/" + 
    MID("20230815", 5, 2) + "/" + 
    RIGHT("20230815", 2), 
    "yyyy/MM/dd"
)

实用日期处理技巧

月份名称转换对照

英文月份缩写

// 完整的月份数组
ARRAY("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

// 使用示例
INARRAY("Aug", ARRAY("Jan","Feb","Mar",...)) // 返回 8

中文月份处理

// 处理"八月"格式
INARRAY(LEFT("八月", 1), ARRAY("一","二","三","四","五","六","七","八","九","十","十一","十二"))

总结

FR中的日期格式处理关键要点:

  1. 识别格式:先分析源数据的日期格式模式
  2. 字符串拆分:使用 LEFT()RIGHT()MID() 提取各部分
  3. 格式转换:使用 TODATE()DATE() 函数进行转换
  4. 性能考虑:复杂转换建议在数据源层面处理

通过以上公式和技巧,可以处理绝大多数日期格式转换需求。

posted @ 2025-05-29 22:13  灯熄帘摇月候身  阅读(70)  评论(0)    收藏  举报