时区管理
一、时区管理的意义
(1)对多时区项目(项目的用户来自不同时区、业务跨时区如出海)中的事件时间做统一识别记录,避免失去偏移信息。
(2)按照统一口径,计算展示特定时区下的数据情况,以保证唯一性。如全球总部汇总数据。
目标:所有上传数据的时间换算成展示时区下的时间查看
如:中东一用户,采用中国服务器,在旧金山总部查看数据,只需将展示时区配置为旧金山时区再查看即可。
二、时区管理的配置入口和使用流程
配置:管理员及以上用户在项目管理-项目信息中配置项目时区信息
使用:项目中模型、报表按照偏移后的时间计算,并展示偏移后的数据结果
三、时区的使用场景
3.1配置时区(项目角色为管理员及以上可进入)
(1)默认状态时,无时区配置。即导入数据的时间将作为最终的计算和展示时间。
(2)选择“更改时区”,并进行配置
(3)设置时区偏移属性
时区偏移属性:需要选择一个记录时区信息的属性记录时区信息。请使用数值型数据记录事件时间与UTC时间的偏移小时数,该数值的有效范围仅限于-12~14间的数值。
*如果采用客户端SDK (Android SDK v2.2.0 / iOS SDK v2.2.0 / JS SDK v1.2.0 / Unity SDK v1.4.3以上或其他客户端SDK)
那么,我们会默认使用#zone_offset自动采集时区信息。此时,您可以直接选择“默认时区偏移”(#zone_offset属性)作为时区偏移属性。
(4)设置系统计算与展示时区
比如,总部在旧金山(UTC-08:00),并按照该时区统一全球数据的口径,那么只需设置系统计算与展示时区成UTC-08:00即可
(5)时区偏移后展示时间的计算方法
展示时间=事件时间+(展示时区-事件时区)
(6)完成设置后,启用时区管理配置
3.2 时区的使用
3.2.1适用范围
(1)模型、看板中分析时段、分析粒度(按天、按周等)
(2)模型、看板中表格、图表、下载数据,用户列表中的时间类型数据(属性分析除外)
时间类型数据包括触发时间和事件属性
(3)模型、看板中筛选条件、条件分群中的时间条件中的时间
(4)全局时间筛选中的时间都是偏移后的时间信息
(5)用户行为序列中的时间
(6)按时间类型属性分组,并设置汇总粒度
(7)预警管理中的统计时间和展示时间
3.2.2不适用范围
使用服务器时间进行显示或定时计算的时间数据不进行时区偏移
(1)报表、看板在计算时的数据更新时间
(2)设置看板定时更新、用户群动态更新
(3)SQL中进行计算
(4)虚拟属性的创建规则中带有时间类型属性时
计算过程中不参与偏移,仍按照原始时间计算,只要在最终计算结果时偏移即可。
3.3 数据计算准则
3.3.1事件进行偏移处理的条件
选择某属性作为偏移属性后,对某条事件是否进行偏移处理的方法
有该属性,有效 | 有该属性,无效 | 无该属性 | |
---|---|---|---|
选择默认属性 | 使用#zone_offset进行偏移 | 不做偏移 | 不做偏移 |
选择某一属性 | 使用该属性进行偏移 | 不做偏移 | 不做偏移 |
有该属性无效,如:上传的数据为非数值,无法解析的情况
*1:在显示时区下的时间为:原始数据时间+(偏移时区-原始数据时区)
*2:该条原始数据时区信息缺失时,不做偏移处理
3.3.2事件进行偏移处理的案例
从数据本身、时区配置项、模型中分析时间段3个角度来看
(1)某条数据带有的主要信息
#event_time(事件本地时间) | #zone_offset(相对UTC+00:00时区偏移信息 | X某数值型字段(相对UTC+00:00时区偏移信息) |
---|---|---|
2020-01-01 12:00:00 | 8 | -4 |
这条事件的含义为,事件发生的本地时间为2020-01-01 12:00:00
按#zone_offset来判断,本地的时区为UTC+08:00
按X来判断,本地的时区为UTC-04:00
(2)时区配置项:开启后的选项
场景1 | 场景2 | |
---|---|---|
设置条件 | 按默认属性偏移至UTC+09:00 | 按X偏移至UTC+09:00 |
含义 | 将原始数据按UTC+09:00下的情况来显示 | 将原始数据按UTC+09:00下的情况来显示 |
原始数据在显示时区下的触发时间为 | 2020-01-01 13:00:00 | 2020-01-02 01:00:00 |