如何自定义SQL创建标签
数据源

在系统通过SQL创建标签,可以使用的数据源主要有事件行为表、用户属性表以及标签表。其中标签表根据创建的标签数量不同,存在多张表的可能,表名按照smarttag_开头,后跟数字。有关事件行为和用户属性的详细介绍,请参考《数据模型》、《数据格式》。
表名称
说明
关联字段
event_vd
存储用户事件行为数据
xwho,distinct_id
profile_vd
存储用户属性数据
xwho,distinct_id
smarttag_*
存储用户标签数据
xwho,distinct_id
查询结果格式
在使用自定义SQL进行标签加工时,需注意遵从如下的格式返回查询数据。
USER_SEX即为查询返回的字符型标签
动态时间范围
在之前的介绍中我们介绍到可以配置标签的更新周期,每天、每周、每月定期执行标签加工。在实际的加工过程中,会遇到需要每次加工计算前多少日、上月、当月等等动态时间范围的标签,这里将主要介绍如何在SQL中定义动态时间。
标签的默认加工时间在每日或指定周期的0点开始,因此now()代表了执行当日的时间,但由于是在0时开始执行,所以基本不会包含当日的数据,可以认为实际统计的日期在执行的上一日到前30日的时间范围。通过指定interval后的数值,可以计算如:
近1日: BETWEEN now()- interval '1' day and now()
近7日: BETWEEN now()- interval '7' day and now()
近30日:BETWEEN now()- interval '30' day and now()
易观方舟使用的查询引擎是presto ,关于presto的Date和Time类型的函数可以参考presto的官方文档:https://prestodb.github.io/docs/0.201/functions/datetime.html
SQL标签示例
1 将用户属性表属性作为标签
加工标签时,有时需要将上传至用户属性表的属性纳入标签体系,这时候通过SQL可以直接查询属性表,指定需要保存为标签的属性进行加工。
2 首次访问距当前天数
3 最后购买距当前天数
4 RFM用户价值标签
在常用的用户分层标签中,RFM价值模型应用最为广泛,该模型通过三个基本的指标(最后购买时间距当前天数、购买次数、购买总金额)对用户进行分段。
5 首末次行为
将用户首次或最后一次发生某个行为的事件属性作为标签,如首次购买金额、最后访问平台等
6 最近30天访问天数
最后更新于
这有帮助吗?