DataFinder支持基于属性对用户数据过滤或查询结果分组展示(例如,按“性别”过滤或分组展示用户的购买行为数据)。同时DataFinder为您提供属性自定义分组的能力(例如,将“城市”属性划分为“一线”、“新一线”等),便于灵活使用自定义分组后的属性进行数据过滤或分组展示。本文为您介绍属性创建自定义分组规则和属性分组展示的功能逻辑和使用指导。
应用场景
对比项 | 属性自定义分组规则 | 查询结果以属性维度分组展示 |
---|
应用场景 | 自定义属性分组提供对属性值进行二次加工的能力,满足更加灵活的分析需求。
例如:可对属性【城市】进行自定义分组,分组命名为城市等级: - 分组值1【一线城市】,规则为城市=北京、上海、深圳、广州;
- 分组值2【新一线城市】,规则为城市=杭州、成都、重庆;
- 分组值3【非一线城市】,其他城市均划分为非一线城市
后续在需要使用【城市】这一属性进行属性过滤或分组展示时,您可选择属性【城市】,也可以直接选择已创建的一线城市、新一线城市等分组。 | 例如,您在查询分析某个商品的售卖情况时,您希望分别查看男性用户和女性用户在消费行为上的特性,此时您即可对消费行为指标进行【性别】属性上的分组。 |
操作入口 | 通常在选用属性时,鼠标悬浮至属性名后调出属性详情卡片时,在卡片下方可为对应属性添加分组规则。
 | 在使用分析工具时,在顶部查询配置区域中可设置查询结果的属性分组展示。
 |
属性自定义分组规则
功能说明
采集上报属性数据后,您可以对属性数据进一步进行分类分组,便于后续使用属性数据时灵活选择使用整个属性数据,还是选用其中的某个分组数据。以下从属性类型和属性数据格式这两个维度上,为您介绍自定义分组功能的支持情况和分组逻辑。
属性类型
属性类型 | 是否支持自定义分组规则 |
---|
事件/用户属性 | 支持。 - 含虚拟事件/用户属性。
- 含预置事件/用户属性和自定义事件/用户属性。
- 含事件公共属性、事件属性。
|
用户分群 | 不支持。 |
用户标签 | 不支持。 |
属性数据格式:string/version
属性数据类型 | 是否支持 | 自定义分组逻辑 |
---|
string/version | 支持 | - 分组规则:支持对字符型(string)、时间型(datetime)属性进行多种算子计算(等于不等于、包含不包含、正则匹配不匹配等)方式后生成分组取值。
 - 分组后的数据格式和支持的算子:字符型(string)、时间型(datetime)属性创建自定义分组后,自定义分组的属性类型统一为字符型(string),后续使用自定义分组时支持的算子为“=”、“≠”。
|
属性数据格式:int、float
属性数据类型 | 是否支持 | 自定义分组逻辑 |
---|
int/float | 支持 | - 分组规则:
- 支持对数值型(int、float)属性进行数值组距进行分组,支持数值分组的组距固定或自定义。
- 最多支持创建100个自定义分组。
例如,将数值分为4组,组距为:[1,5]、(5,10]、(10,50]、其他。

- 分组后的数据格式和支持的算子:数值型(int、float)属性创建自定义分组后,自定义分组的属性类型统一为字符型(string),后续使用自定义分组时支持的算子为“=”、“≠”。
以下以int为例:

|
属性数据格式:datetime
属性数据类型 | 是否支持 | 自定义分组逻辑 |
---|
datetime | 支持 | - 分组规则:支持对时间类型(datetime型)属性进行“按 月”、“按 分钟”等时间间隔进行自定义分组。
 说明 - 按月:将datetime属性按月分组,属性将被分为12组:1、2、3、……、12,分别代表1~12月。
- 按分钟:将datetime属性按分钟粒度进行分组,属性将被分为60组:0、1、2、……、59,分别代表[0,1)分钟、[1,2)分钟、[2,3)分钟、……、[59,60)分钟。
- 按小时:将datetime属性按小时粒度进行分组,属性将被分为24组:0、1、2、……、23,分别代表[0,1)小时、[1,2)小时、[2,3)小时、……、[23,24)小时。
- 按周内天:将datetime属性按周内的天粒度进行分组,属性将被分为7组:1、2、……、7,分别代表周一、周二、……、周日。
- 按月内天:将datetime属性按月内的天粒度进行分组,属性将被分为31组:1、2、……、31,分别代表每月的1日至31日。
- 按年内周:将datetime属性按年内的周粒度进行分组,每年的第一周为当年1月4日所在的那一周,周一作为每个周的开始。属性将被分为53组:1、2、……、53,分别代表每年的第1周至第53周。
例如,2025年1月4日所在的周为2024年12月30日2025年1月5日,分组值为“1”的是2025年第一周,即为2024年12月30日2025年1月5日这一周。 - 按季度:将datetime属性按季度分组,属性将被分为4组:1、2、3、4,分别代表1~4季度。
- 分组后的数据格式和支持的算子:时间类型(datetime型)属性创建的分组规则,属性类型统一为数值型(int),后续使用自定义分组时支持的算子为“=”、“≠”。

|
属性数据格式:list
属性数据类型 | 是否支持 | 自定义分组逻辑 |
---|
list | 不支持 | list类型的属性暂不支持进行自定义分组。 |
使用限制
部分预置属性,例如ab_version、user_is_new等,这些预置的特殊属性不支持分组。大部分此类预置属性的取值本身即具有分组特性,您无需再次手动分组。
操作步骤
新建自定义分组规则

功能入口:分析工具-属性详情-添加分组规则
自定义分组规则配置:

参数 | 配置说明 |
---|
属性分组名称 & 属性分组展示名 | 自定义属性分组名和展示名,便于后续使用时查找识别。属性分组名创建成功后不支持修改。 |
属性分组权限 | 支持设置当前创建的属性分组仅自己可用还是全员可见。 - 仅自己可用:仅创建自定义分组的创建人可查看、使用此分组。
- 全员可见:所有项目成员均可查看、使用此分组。
|
属性分组规则 | 不同数据格式的属性支持不同的属性分组规则,详情可参见上文 功能说明 章节。 |
管理自定义属性分组规则
- 查看:在属性下拉菜单中,原始属性下方展示自己创建的属性分组以及全员可见的属性分组。
- 修改:仅支持修改owner为个人的分组, 修改自定义属性分组会影响所有用到该自定义属性分组的查询,请谨慎评估影响。
属性过滤:筛选待分析数据
您可以基于已上报的属性数据,对用户行为数据进行过滤,筛选出待分析的目标用户数据。如果您对属性创建了自定义分组规则,也可直接基于创建的自定义分组来进行属性过滤。

- 功能入口:在各类分析工具等页面中,您都可以点击过滤按钮基于属性进行属性过滤筛选。以事件分析为例,您可以在选择指标事件时添加属性过滤,也可以在细分筛选目标用户时添加属性过滤。
- 功能说明:
- 属性过滤时,可在下拉框中选择属性,也可选择已创建好的属性自定义分组。
- 搜索属性时,使用模糊搜索,搜索范围为属性、用户创建的自定义属性分组及公共的自定义属性分组。
- 使用任意自定义属性分组进行过滤时,运算符只支持“=”和“≠”。
属性分组:查询结果分组展示
功能说明
通过属性分组功能,您可以基于某个属性或自定义属性分组规则,将查询分析结果数据进行分组展示。以下从各个维度为您介绍支持使用属性进行查询结果分组展示功能的主要逻辑。
分组的属性类型维度
属性类型 | 是否支持查询结果属性分组展示 |
---|
事件/用户属性 | 支持。 - 含虚拟事件/用户属性。
- 含预置事件/用户属性和自定义事件/用户属性。
- 含事件公共属性、事件属性。
|
用户分群 | 支持。 |
用户标签 | 支持,用户标签功能如果未开启则无法使用,需先开启功能后才可使用。 |
属性的数据格式维度
属性数据类型 | 属性分组展示逻辑 | 属性分组示例 |
---|
string
version
int
float
datetime
list | 在进行属性分组展示时,DataFinder支持添加多个属性分组,每个属性进行分组展示时会按以下逻辑进行分组排序然后展示查询结果。 - DataFinder会根据对应属性的实际属性取值进行分组。
- 分组完成后,DataFinder会对各个属性分组中,查询的指标进行累计求和,并对求和结果倒序排序。
- DataFinder会根据界面设置的最多展示“前xxxx项”,进行判断展示。
- 实际分组数小于等于“前xxxx项”,则展示全部分组结果。
- 实际分组数大于最大“前xxxx项”,则按上述排序结果,仅展示设置的分组数。
说明 string/version/int/float/datetime类型的属性根据属性取值进行分组、求和排序、分组展示;list类型的属性根据list属性中的元素进行分组、求和排序、分组展示。 | 
- 有个string的属性“省份”,DataFinder会将按照所有上报入库的省份结果取值进行分组。假设所有上报到DataFinder的省份有北京、上海、广东、……、东京、华盛顿等共计300个省份,则DataFinder会分300个分组。
- 在事件分析中查询的指标是“用户注册”事件的“总次数(PV)”,则DataFinder会对每个属性分组内的所有“用户注册”事件的“总次数(PV)”进行累计求和,并按求和结果从高到低进行排序。
- 设置了分组展示仅展示前200个分组,实际分组后有300个分组,则在查询结果中仅展示排序后的前200个分组结果。
|
JSON | 当前不支持对上报JSON类型的属性,不支持使用JSON类型的属性进行分组。如果您的属性是JSON类型,可参考下文使用示例:嵌套JSON类型属性如何上报、使用。 |
注意事项
使用属性分组功能时,如果您未配置任何属性过滤条件,则DataFinder会默认为您预置一个属性过滤条件:过滤掉属性值为空(null)的数据,便于您更好的对比查看各个有意义的分组中的指标数据。
以事件分析为例:

- 如果您没有在事件指标、细分筛选中配置任何属性过滤条件,仅配置了使用“平台类型”属性进行查询结果分组展示,则在查询结果中,DataFinder会过滤掉“平台类型”属性值为空的指标数据,仅为您展示有平台类型属性的指标结果,去掉无平台类型属性的数据。
- 如果您配置了属性过滤条件,则进行属性分组时会按照您配置的属性过滤条件进行过滤,属性分组功能预置的过滤掉属性值为空(null)的数据这个过滤条件不再生效。
使用限制
- 当前最多支持添加20个属性分组。
- 每个属性分组,当前最多展示前1000个分组结果的数据。
操作步骤
- 在分析工具页面上方的查询配置区域,可单击属性分组添加某个属性或属性的自定义分组规则,并设置查询结果图表中,根据分组逻辑排序后需要展示“前xx项”的分组结果数据。

- 对于datetime类型的属性,您还可以设置查询结果是否需要进行汇总。

- 不汇总(默认):直接按所选的datetime属性进行分组展示即可,查询结果数据不做处理。
- 按时段汇总:支持选择按月、按分钟、按小时、按周内天等时间段,将各个属性分组的指标数据进行汇总。对于希望分析某些时段内用户行为特征的场景可按时段汇总,示例可参见下文的示例2:分析周一~周日用户的行为习惯。
使用示例
示例1:嵌套JSON类型属性如何上报并用于过滤、分组
当前DataFinder暂不支持直接上报、使用JSON类型的属性数据,如果您的业务数据本身是JSON类型,可参考以下解决方案进行上报使用。
示例场景:例如,有个JSON类型的属性page_args:
{"page_args":{
"moment_id":"123",
"moment_type":123
}
}
埋点上报处理:此场景下,当前建议通过转义的方式把JSON数据转成String后再上报。例如:

上报后使用:
转义为String类型后,您可以在DataFinder中使用虚拟属性功能,创建一个虚拟属性,在虚拟属性的定义表达式中通过get_json_object()
方法提取出对应JSON属性中的嵌套对象取值。虚拟属性的详细介绍和使用指导请参见虚拟属性。
例如:
$vp_moment_type: toInt64OrZero(get_json_object(event_params.pages_args,'$.moment_type'))
以上表达式则是将最初始的JSON属性中的moment_type提取至新创建的$vp_moment_type虚拟属性中。
后续如果希望使用此属性值进行过滤或分组,则可直接选用虚拟属性$vp_moment_type即可。
示例2:分析周一~周日用户的行为习惯
- 示例场景:假设您已采集了某个应用半年内的用户行为数据,想分析看看周一到周日用户在应用操作行为上有没有什么差异。
- 属性分组示例:您可以设置属性分组“按周内天”进行汇总。

则后续在查询展示用户行为数据时:
- 查询结果会按周内天分为7组,分别代表周一至周日。
- 每个分组会将对应分组的所有数据汇总。

例如上图示例,在周一分组中,查询结果会将查询时间范围内(近180天、按月粒度)所有周一的数据进行汇总。