字段高级设置
在字段配置页面中,上方有「高级」选项,可以对已接入数据的内容做 SQL 逻辑转化。
作用
在「高级」选项中编写的 SQL 逻辑,会直接作用于最终生成的 SQL 中。
支持的 SQL 逻辑
以上 SQL 逻辑仅为示例,更多 SQL 逻辑同样可直接作用于最终生成的 SQL 中。
简单案例
以「类型转换」为例:假设事件表中 amount(金额)字段在数据源里以字符串形式存储(如 "123.45"),直接对其做 SUM()、AVG() 等聚合会出错。在字段的「高级」配置中编写:
配置后,系统在生成 SQL 时会把原来的 amount 替换为 cast(amount as double),聚合即可正常进行。
新增虚拟列
很多时候,即便数据库中没有相关列,假设业务需要一列标签进行分析,也可以在模型中新增一列,并为其配置 SQL 逻辑。配置完成后,模型层面和数据层面都能通过系统直接以该逻辑补足,无需在数据库中实际创建该列。
以时间字段为例:数据源中 pay_month 存的是 202010 这样的字符串,无法直接用于时间聚合。新增一个虚拟列并为其配置转换逻辑:
配置后,系统在生成 SQL 时会把该列替换为上面的表达式,等价于凭空「捏」出一个 YYYY-MM-DD HH:mm:ss 格式的时间戳列,无需改动数据库。更多时间格式的转换写法见 时间戳类型。

