什么是筛选条件
筛选条件是为了在我们取到的数据集中,通过设置一个条件进行过滤,获取我们最终想得到的子数据集进行分析。神策所有的分析功能中都有筛选条件的选项,均可以实现根据事件的属性进行筛选或根据用户的属性进行筛选。
筛选条件可类比于 SQL 中的 where 条件语句。
当使用用户筛选条件时, where 条件作用于 users 表;当使用事件筛选条件时, where 条件作用于 events 表。
使用流程
在神策所有的分析功能中,我们可以看到「筛选」、「全局筛选」等按钮时,代表此处可以对用户或事件进行筛选,参考上图中的标识,具体配置流程如下:
- 点击弹出筛选条件输入框,可以同时添加一个或多个筛选条件。
- 在 B 中选择筛选事件或用户的属性。
- 在 C 中选择属性的 判断类型 ,不同的属性类型拥有不同的 判断类型,不同 判断类型 的使用方法可参考第 3 部分。
- 在 D 选项中输入 判断值 后,分析结果即会根据输入条件进行筛选。
筛选条件分类
按目标
筛选用户:筛选条件作用于用户表,只看符合筛选条件的那些用户;一般在用户属性上进行条件设置,或者选择用户分群获取符合分析条件的用户。
筛选事件:筛选条件作用于事件,只看符合筛选条件的事件;一般在事件属性上进行条件设置。
按数据类型
不管是为了筛选出不同用户或筛选不同事件,具体的每一个筛选条件的设置,都可以按其数据类型来了解。
字符串类型属性筛选
当筛选的属性为字符串类型时,可以看到如上图中标识的判断类型,具体每个判断类型的使用可参考下表:
判断类型 | 类比 SQL | 描述说明 |
---|---|---|
等于 | = | 精确判断,只有选择的事件属性等于输入的判断值时,该事件才会进入分析过程;当判断值存在多个时,事件属性值等于任意一个,该事件都会进入分析的数据集 |
不等于 | != | 精确判断,只有选择的事件属性不等于输入的判断值时,该事件才会进入分析过程;当判断值存在多个时,事件属性值等于任意一个,该事件就不会进入分析过程 |
包含 | LIKE "%$判断值 %" | 匹配判断,当属性字段中包含判断值,该事件或用户就会进入分析过程 |
不包含 | NOT LIKE "%$判断值 %" | 匹配判断,与“包含”相反,当属性字段中包含判断值,该事件不会进入分析过程 |
不为空 | Length($属性 )>0 | 当属性字段中有值(字符串长度大于 0 )时,事件或用户才会进入分析过程 |
为空 | ="" | 当属性字段中值为空字符串时,事件或用户才会进入分析过程 |
没值 | IS NULL | 只有属性字段中值为 NULL 时,事件或用户才会进入分析过程 |
有值 | IS NOT NULL | 只有属性字段中值不为 NULL 时,事件或用户才会进入分析过程 |
正则匹配 | 匹配判断,符合条件的数据进入分析过程,具体请参考:正则表达式 | |
正则不匹配 | 匹配判断,只有不符合正则条件的数据进入分析过程,具体请参考:正则表达式 |
数值类型属性筛选
当筛选的属性为数字类型时,可以看到如上图中标识的判断类型,具体每个判断类型的使用可参考下表:
判断类型 | 类比表达式 | 描述说明 |
---|---|---|
等于 | = | 类同于字符串类型 |
不等于 | != | 类同于字符串类型 |
小于 | < | 所选属性值小于判断值的事件才会进入分析过程 |
大于 | > | 所选属性值大于判断值的事件才会进入分析过程 |
区间 | between . and . | 所选属性值处于设置的判断值所形成的闭区间时,事件才会进入分析流程;如判断值设置为 10 和 100 时,所选属性值需要满足 [10,100] 区间 |
有值 | IS NOT NULL | 类同于字符串类型 |
没值 | IS NULL | 类同于字符串类型 |
时间类型属性筛选
名词解释
- 绝对时间:有明确开始和截止时间的一个固定时间范围
- 时段区间:有明确的开始和截止时段的一个固定的时段区间
- 相对时间:相对于某个时间点,确定一个开始时间和截止时间的时间范围
- 相对当前时间点:相对于当前之前的一段时间范围,比如之前 1 小时
- 相对当前时间区间:相对当前的时间点,确定一个开始时间和截止时间
当筛选的属性为时间类型时,可以看到如上图所示的判断类型,具体每个判断类型使用可参考如下:
绝对时间
如设置绝对时间在 2017-07-04 00:00 至 2017-07-11 00:00,则所选属性时间范围在此区间(包含区间端点)的数据会进入分析过程
时段区间
如设置绝对时间在 00:00 至 10:59,则所选属性时间范围在此区间的数据会进入分析过程
相对当前时间点
如相对当前时间点在 1 天之内,则表示当前时间点减一天为起点,当前时间点为终点的时间区间。即 [当前时间点 - 1 天, 当前时间点]。注:计算时数据精确到天。
例如:3月22日 12:05:22 发起查询,「相对当前时间点 1 天之内」;结果为:时间范围在 [3月22日 00:00:00 , 3月22日 23:59:59] 的数据
如相对当前时间点 1 天之前,则表示当前时间点减一天为终点之前的时间区间。即 ( 无穷小时间, 当前时间点 - 1 天]
例如:3月22日 12:05:22 发起查询,「相对当前时间点 1 天之前」;结果为:时间范围在 [- ∞ , 3月21日 23:59:59] 的数据
相对当前时间区间
如设置相对当前时间的过去 4 天到过去 3 天之内,3月23日 12:05:22 发起查询,则结果为,时间范围在 [3月20日 00:00:00 , 3月20日 23:59:59] 的数据
相对事件发生时间
此处以事件发生的时间锚点去设置时间区间的起点和终点,所以对于每一条需要判断的事件或用户数据,所对应判断的时间区间是不一样的。
比如我们想要看到购买事件发生前 5 分钟进行注册事件的用户数量时,可设置 注册时间 相对事件发生时间 在之前 5 分钟内。基于“用户注册后,立马购买的商品是吸引用户注册的原因”这样一个假设,我们可以查看那类型商品比较容易吸引用户注册来购买。或者替换成优惠券,可查看那类型优惠券更容易吸引用户。
此处的「之前 N 天内」或「之后 N 天内」均包含事件发生当天。
相对事件发生时间区间
此处以事件发生的时间锚点去设置时间区间的起点和终点,所以对于每一条需要判断的事件或用户数据,所对应判断的时间区间是不一样的。
比如:
- 在开户事件在初始行为30天内定义为新用户,「过去60天至过去30天」定义为老用户,筛选相对事件发生时间「过去60天至过去30天」时间范围内的数据
- 客户希望分析用户注册后7天之后以及7~14天内支付订单的次数和金额分布
如设置相对事件发生时间的过去 7 天到未来4天之内,如事件发生时间为2023-03-23 18:03:46,则筛选范围为【事件发生时间-7天,事件发生时间+4天】
有值 & 没值
请参考字符串类型中,有值 & 没值的描述
布尔类型属性筛选
当筛选的属性为布尔类型时,可以看到如上图所示的判断类型,具体每个判断类型使用如下:
为真
表示当选择属性值为 TURE 时,数据才会进入分析过程。
为假
表示当选择属性值为 FALSE 时,数据才会进入分析过程。
有值&没值
请参考字符串中,有值 & 没值的描述
带字典类型属性的筛选
在神策分析的元数据管理中,可以对属性设置 维度字典,对于已经设置 维度字典 的字段,筛选条件如下图,具体的判断字段使用可参考字符串类型中相应类型。
用户分群的筛选
在进行条件筛选时,如果选择用户分群,则判断条件选择跟布尔类型相同,表示用户是否在该分群之内。