如何在AWS QuickSight中正确解析12小时制格式的日期数据?
问题根因
你使用的parseDate格式字符串和原始日期的实际格式不匹配,导致全量数据解析失败被跳过,具体不匹配点有两个:
- 原始日期的月份、日期没有前导补零(比如1月写为
1而非01、6日写为6而非06),你使用的MM、dd是专门匹配两位固定长度、带前导零的月/日格式 - 原始时间是12小时制,带
AM/PM上下午标识,你使用的HH是24小时制时间匹配符,既没有对应12小时制的小时规则,也没有匹配上下午标识的字段
可用的正确转换表达式
直接在计算字段中使用以下表达式即可完成解析:
parseDate({Date}, 'M/d/yyyy h:mm:ss a')
格式符对应说明:
M:自动识别1位/2位长度的月份(无需前导零,1月、10月、12月均可正常匹配)d:自动识别1位/2位长度的日期(无需前导零,3号、21号均可正常匹配)h:匹配12小时制的小时值(取值范围1-12,适配带AM/PM的时间规则)a:匹配AM/PM上下午标识
异常兜底排查
如果使用上述表达式后仍有部分行解析失败,优先检查两类问题:
- 目标日期列是否存在空值、乱码、和样例格式不一致的脏数据
- S3上的源导出文件是否存在格式混存:比如部分单元格是Excel内置的日期序列值、部分是你贴出的字符串格式日期,两类数据混存会导致部分行解析失败
内容的提问来源于stack exchange,提问作者nehlo_kimchen
相关产品推荐
相关产品推荐

