timestamp
时间戳类型
事件表中的必须字段属性,表示事件发生的时间,问答时的时间维度;当实体表中有时间戳时,该实体表为快照表;系统可以实现秒粒度的数据分析,并且可以通过granularity设置时间粒度。
时间戳格式要求
时间戳要求为 YYYY-MM-DD HH:mm:ss 格式。
若数据库中存储的是其他类型(如整数时间戳),仍可通过模型字段配置中的「高级」选项,编写 SQL 逻辑进行转化,使其符合上述格式。具体配置方式见 字段高级设置。
非标准格式的转换
系统在做时间聚合(如按日、按月、按年汇总)时依赖时间戳字段,因此当数据源里没有 YYYY-MM-DD HH:mm:ss 格式的数据时,需要先用 SQL 逻辑把原字段转成目标格式,再交给模型使用。
常见的非标准情况包括:
- 用字符串
202010表示「2020 年 10 月」(年月连写、无分隔符、无日) - 将「年」「月」分别存成两个字段,例如
year = 2020、month = 10 - 用整数存储 Unix 时间戳(秒/毫秒)等
转换时,需要使用所接入数据源自身的 SQL 语法。配置入口为:字段配置 → 高级 → 字段映射,在框中填入对应表达式(示例中的字段名请替换为实际字段名)。转换的目标是 YYYY-MM-DD HH:mm:ss 的日期时间类型,因此应使用返回日期时间的函数(如 toDateTime、to_timestamp),而非只返回日期的函数(如 toDate、to_date)。
案例一:字符串 202010 表示年月
假设字段 pay_month 存的是 202010 这样的字符串,表示 2020 年 10 月,需转成时间戳格式。
案例二:年、月分成两个字段
假设 year_col 字段存年份(如 2020),month_col 字段存月份(如 10)。
提示
转换结果应尽量补足到 YYYY-MM-DD HH:mm:ss,缺失的日、时、分、秒统一补为 01 或 00(如 202010 → 2020-10-01 00:00:00),用于按月、按年聚合已足够;如需精确到某一天,请在转换时补足对应精度。

