用途:当埋点没有直接上报新老用户分类字段,但分析需要在事件分析、漏斗、留存、分布等模型中按新用户/老用户筛选或分组时,用本技能创建一个可复用的虚拟事件属性,避免各模型各自重建规则导致口径不一致。它只负责创建属性,不进一步分析新老用户分布。
主要能力:优先基于已上报的注册时间用户属性,用 DATE_DIFF 计算事件时间与注册时间的差值天数;若没有注册时间或注册时间为本地时间无法精确计算,则退化为基于首次注册事件生成 first/last 用户标签来近似新老用户。创建前会按 #data_source 检查 #zone_offset 时区行为,并据确认结果决定做时区换算或保持时区一致。分类规则支持 24 小时制(满 24 小时才算老用户)与自然日制(跨自然日即为老用户)。
必要用法:先用 printenv TE_AGENT_CURRENT_SESSION_SELECTION_JSON 获取已选项目 ID;用 ae-cli analysis-meta property list 检查是否存在注册时间类用户属性;用 ae-cli analysis sql-table list 获取真实事件表引用,再查询 #zone_offset 分布(必须带 $part_date 分区条件)。随后一次性与用户确认三点:新老分类规则、注册时间上报时区、各数据源时区行为是否与实际一致。确认后按需构建 SQL,并执行 ae-cli analysis-meta virtual-property create 创建属性(如 #vp@user_type_24h),--select-type 用 number。若走标签分支,需用 ae-cli analysis user-tag create 创建 first/last 标签并配置每日刷新,轮询 user-tag get 直到 progress=100 且 refresh_time 就绪,再引用 ta_tag。"tag_machine_name" 构建 SQL。
适用场景:埋点缺新老字段但需按新老筛选;不同模型需统一新老定义;无注册时间但可用注册事件近似。限制:若既无注册时间用户属性、也无可用注册事件则须停止并告知先上报;注册时间为本地时间且时区不一致时无法精确计算,只能修埋点或改用标签近似(标签存在刷新延迟);ta_tag 与 ta_u 别名仅在虚拟属性 SQL 编译期有效,不能用 ad-hoc SQL 验证。部分实现细节资料暂未完整提供。