1. 什么是筛选条件

筛选条件是为了在我们取到的数据集中,通过设置一个条件进行过滤,获取我们最终想得到的子数据集进行分析。神策所有的分析功能中都有筛选条件的选项,均可以实现根据事件的属性进行筛选或根据用户的属性进行筛选。

筛选条件可类比于 SQL 中的 where 条件语句。

当使用用户筛选条件时, where 条件作用于 users 表;当使用事件筛选条件时, where 条件作用于 events 表。

2. 使用流程

在神策所有的分析功能中,我们可以看到「筛选」、「全局筛选」等按钮时,代表此处可以对用户或事件进行筛选,参考上图中的标识,具体配置流程如下:

  1. 点击弹出筛选条件输入框,可以同时添加一个或多个筛选条件。
  2. 在 B 中选择筛选事件或用户的属性。
  3. 在 C 中选择属性的 判断类型 ,不同的属性类型拥有不同的 判断类型,不同 判断类型 的使用方法可参考第 3 部分。
  4. 在 D 选项中输入 判断值 后,分析结果即会根据输入条件进行筛选。

3. 筛选条件分类

3.1. 按目标

筛选用户:筛选条件作用于用户表,只看符合筛选条件的那些用户;一般在用户属性上进行条件设置,或者选择用户分群获取符合分析条件的用户。

筛选事件:筛选条件作用于事件,只看符合筛选条件的事件;一般在事件属性上进行条件设置。

3.2. 按数据类型

不管是为了筛选出不同用户或筛选不同事件,具体的每一个筛选条件的设置,都可以按其数据类型来了解。

3.2.1. 字符串类型属性筛选

当筛选的属性为字符串类型时,可以看到如上图中标识的判断类型,具体每个判断类型的使用可参考下表:

判断类型类比 SQL描述说明
等于=精确判断,只有选择的事件属性等于输入的判断值时,该事件才会进入分析过程;当判断值存在多个时,事件属性值等于任意一个,该事件都会进入分析的数据集
不等于!=精确判断,只有选择的事件属性不等于输入的判断值时,该事件才会进入分析过程;当判断值存在多个时,事件属性值等于任意一个,该事件就不会进入分析过程
包含LIKE "%$判断值%"匹配判断,当属性字段中包含判断值,该事件或用户就会进入分析过程
不包含NOT LIKE "%$判断值%"匹配判断,与“包含”相反,当属性字段中包含判断值,该事件不会进入分析过程
不为空Length($属性)>0当属性字段中有值(字符串长度大于 0 )时,事件或用户才会进入分析过程
为空=""当属性字段中值为空字符串时,事件或用户才会进入分析过程
没值IS NULL只有属性字段中值为 NULL 时,事件或用户才会进入分析过程
有值IS NOT NULL只有属性字段中值不为 NULL 时,事件或用户才会进入分析过程
正则匹配
匹配判断,符合条件的数据进入分析过程,具体请参考:正则表达式
正则不匹配
匹配判断,只有不符合正则条件的数据进入分析过程,具体请参考:正则表达式

3.2.2. 数值类型属性筛选


当筛选的属性为数字类型时,可以看到如上图中标识的判断类型,具体每个判断类型的使用可参考下表:

判断类型类比表达式描述说明
等于=类同于字符串类型
不等于!=类同于字符串类型
小于<所选属性值小于判断值的事件才会进入分析过程
大于>所选属性值大于判断值的事件才会进入分析过程
区间between . and .所选属性值处于设置的判断值所形成的闭区间时,事件才会进入分析流程;如判断值设置为 10 和 100 时,所选属性值需要满足 [10,100] 区间
有值IS NOT NULL类同于字符串类型
没值IS NULL类同于字符串类型

3.2.3. 时间类型属性筛选

名词解释

  • 绝对时间:有明确开始和截止时间的一个固定时间范围
  • 时段区间:有明确的开始和截止时段的一个固定的时段区间
  • 相对时间:相对于某个时间点,确定一个开始时间和截止时间的时间范围
  • 相对当前时间点:相对于当前之前的一段时间范围,比如之前 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天】

有值 & 没值

请参考字符串类型中,有值 & 没值的描述

3.2.4. 布尔类型属性筛选

当筛选的属性为布尔类型时,可以看到如上图所示的判断类型,具体每个判断类型使用如下:

为真

表示当选择属性值为 TURE 时,数据才会进入分析过程。

为假

表示当选择属性值为 FALSE 时,数据才会进入分析过程。

有值&没值

请参考字符串中,有值 & 没值的描述

3.2.5. 带字典类型属性的筛选

在神策分析的元数据管理中,可以对属性设置 维度字典,对于已经设置维度字典的字段,筛选条件如下图,具体的判断字段使用可参考字符串类型中相应类型。

3.2.6. 用户分群的筛选

在进行条件筛选时,如果选择用户分群,则判断条件选择跟布尔类型相同,表示用户是否在该分群之内。