菜单

属性分析模型API

一、属性分析查询

接口URL

/api/open_api/v1/analysis/composition?token=xxx

请求方式

POST

Content-Type

application/json

请求Query参数

参数名
参数类型
是否必填
参数描述
token
String
查询token

请求Body参数

属性分析的请求参数由分析属性参数(composition)、全局筛选参数(filters)、分组统计参数(groups)、时区参数(timeZoneOffset)组成,特殊地,分组统计的方式有两种,分别为按分组项进行分组统计以及按人群对比进行分组统计

 

分析属性参数

参数名
参数类型
是否必填
说明
composition
Object
用户参与的事件参数
analysis
String

 

计算类型,具体每个计算值类型所对应的枚举可见表,特别的,用户数对应表中的出发用户数

 

analysisDesc
List

分析属性的描述

boundProp
Object 
 否

聚合计算所用的属性说明,即描述本指标计算所需要用的属性

  1. 当计算事件的“用户数”时,可不传,此时不涉及属性;
  2. 当计算事件的某个属性聚合值时,该值必传,在默认事件类型下,该列表长度等于1,内容为属性描述对象,具体对象内容见“如何表示一个属性”
extra
Object

参考下面extra参数解释

compositionDisplay
 
String
 否

 分析属性显示名

property
String

属性的分析角度的属性名称,比如账户ID的去重数时,需要必传这个属性名称,特别的当算事件的“用户数”时,可不传

propertyDesc
String

属性的分析角度的属性描述

extra参数解释

由于对象属性以及维度属性等存在父属性等关联属性,所以需要extra参数标识,为其他属性时,extra可以保持为空对象即{},使用过程中,有参数疑问时,请联系DT团队

当为维度属性时

字段
字段类型
说明
bound_prop
String
属性名称
dimension_id
Number
维度id
bound_prop_id
Number
维度属性对应原始属性id
bound_parent_prop
String
属性对应父属性名称
original_column_type
String
本身属性在数据库中的类型
‘varchar’、'int'、'array' 等

当为子属性(包含对象子属性,对象组子属性,列表子属性等)时

字段
字段类型
说明
original_column_type
String
本身属性在数据库中的类型
‘varchar’、'int'、'array' 等
bound_parent_prop
String
属性对应父属性名称
parent_column_type
String
子属性父属性数据类型
'string'、'number'、'boolean'、'dateTime'、'cluster'、'tag'、'array'、 'object'、'objectArray'
 

分组统计参数

按不同方式进行分组统计功能如下图所示, 

参数名
参数类型
是否必填
说明
groups
Object
分组统计相关参数
groupType
String

分组统计的方式有两种

crowds: 表示按人群对比进行分组统计

normal: 表示按分组项进行分组统计

1️⃣ 按照分组项进行分组统计

当您选择按照表示按分组项进行分组统计即groupType为normal时, 分组项是一个用户相关的属性,故它的参数除了tableType不能为event以外,与通用的API查询参数说明中分组项一致

参数说明

参数名
参数类型
是否必填
说明
groups Object 分组统计相关参数

userGroups

除了tableType不能为event以外,与通用的API查询参数说明中分组项一致

2️⃣ 按照人群对比进行分组统计

参数说明

参数名
参数类型
是否必填
说明
groups Object 分组统计相关参数
crowdFilter
不是必填,传入三个字段relation、filterType、filters,该部分的传参与全局筛选参数一致,详见全局筛选参数
crowdName
String
人群对比显示名
serialNumber
int
指明当前人群对比参数是第几个

全局筛选与计算时区参数

参数名
参数类型
是否必填
说明
filters
Object
通用参数,见"如何表示一个筛选项"
timeZoneOffset
Number 

计算时区,如8,-8

若未填,表示0时区

请求响应结果

示例

我们以按照人群对比分组统计分析场景,进行API查询,那么最终返回结果如下示例

返回结果示例:

{
  "propertyDesc": "用户数",
  "values": [
    {
      "groupCol": [
        "人群1"
      ],
      "value": 13
    },
    {
      "groupCol": [
        "人群2"
      ],
      "value": 1461650
    }
  ],
  "groupDetail": {
    "groupType": "crowds",
    "groupNumber": 1,
    "groupCols": [],
    "groupColumns": [
      [
        "人群1",
        "人群2"
      ]
    ]
  }
}

响应结果说明

字段名 字段类型 字段说明
propertyDesc
String

分析属性描述

groupDetail
 
Object

分析属性返回的具体数据

groupCols
List[String]
分组显示名称列表
groupColumns
List[List[String]]
分组具体数据列表
groupNumber
Number
分组数
groupType
String

分组统计的方式有两种

crowds: 表示按人群对比进行分组统计

normal: 表示按分组项进行分组统计

values
List[Object]
分析属性具体数据构成的列表
groupCol
List[String]
分组名称列表列表
value
Number
指标值

示例

我们以按照分组项分组统计分析场景,进行API查询,那么最终返回结果如下示例

返回结果示例:

{
  "propertyDesc": "用户数",
  "compositionDisplay": "",
  "values": [
    {
      "groupCol": [
        "总体"
      ],
      "value": 51709609
    }
  ],
  "groupDetail": {
    "groupType": "normal",
    "groupNumber": 1,
    "groupCols": [],
    "groupColumns": [
      [
        "总体"
      ]
    ]
  }
}

响应结果说明

响应结果说明

字段名 字段类型 字段说明
propertyDesc
String

分析属性描述

groupDetail
 
Object

分析属性返回的具体数据

groupCols
List[String]
分组显示名称列表
groupColumns
List[List[String]]
分组具体数据列表
groupNumber
Number
分组数
groupType
String

分组统计的方式有两种

crowds: 表示按人群对比进行分组统计

normal: 表示按分组项进行分组统计

values
List[Object]
分析属性具体数据构成的列表
groupCol
List[String]
分组名称列表列表
value
Number
指标值

二、属性分析用户列表查询

在属性分析中, 我们可以查看按分组项或者人群对比进行分组统计的用户数

接口URL

/api/open_api/v1/analysis/composition_user_list?token=xxx

请求方式

POST

Content-Type

application/json

请求Query参数

参数名
参数类型
是否必填
参数描述
token
String
查询token

请求Body参数

请求的body参数在对应完整使用的属性分析的参数外,额外增加一项details和properties字段,来指明是按照什么进行分组统计的用户数

参数名
参数类型
是否必填
参数描述
details Object 查询详情
eventModel String 漏斗分析固定为"composition"
sliceGroup List[Object]

当计算用了分组时,需要指明最终查询的是哪个分组的列表详情,长度 = 分组项的个数

groupName String

分组属性名

groupValue String

具体分组值

tableType String

分组属性类型

sliceType String 固定传"user"
properties List[Obejct]

要查询的用户属性列表,即最终计算结果需要返回的属性

若未传,默认会查询"$uid"、"#dt_id"和"#acid"

column_name String
属性名

示例

下述示例,即表示在属性分析完成计算后,想要查看分组是"中国"、"ios"的用户数

示例

下述示例,即表示在分布分析完成计算后,想要查看12-18这天,分组是"中国"、"ios"的当天分布区间在0到300之间的人数

{
  "firstEvent": {...},
  "returnEvent": {...},
  "alsoShow": {...},
  "eventsFilter":{...},
  "eventsGroup":{...},
  "eventsView": {...},
  "entity":{...},
  "timeZoneOffset": 8,
  "details": {
    "eventModel":"distribution",
    "sliceType": "user",
    "sliceGroup": [
      {
        "groupName": "国家",
        "groupValue": "中国",
        "tableType": "event",
      },
      {
        "groupName": "操作系统",
        "groupValue": "ios",
        "tableType": "event",
      }
    ]
  },
  "properties": [
    {"column_name": "#acid"},
    {"column_name": "#app_id"},
    {"column_name": "#app_version"},
    {"column_name": "#bundle_id"},
    {"column_name": "#carrier"},
    {"column_name": "#city"},
    {"column_name": "#dt_id"},
    {"column_name": "$uid"},
    {"column_name": "#country"}]
}

请求响应结果

字段名 字段类型 字段说明
columnMeta
Object

所查询的properties的属性映射,键值对的个数 = 请求参数中properties的长度,

键名为属性名,值为属性显示名

data_list
List[Object] 用户列表详情,长度 = 计算的结果数,对象中为属性名:属性值的键值对
total
Number 总数,最多返回1000条

示例

{
  "columnMeta": {
    "#acid": "账号 ID",
    "#app_id": "应用唯一标识",
    "#app_version": "应用版本",
    "#bundle_id": "应用包名",
    "#carrier": "运营商",
    "#city": "城市",
    "#country": "国家",
    "#dt_id": "访客ID",
    "$uid": "DT 用户 ID"
  },
  "total": 1,
  "data_list": [
    {
      "#acid": "0@5IZJI4YUWZcard_games",
      "#app_id": "dt_xxxx",
      "#app_version": "app2.0.1",
      "#bundle_id": null,
      "#carrier": "移动",
      "#city": "纽约",
      "#country": "中国",
      "#dt_id": "dddddd",
      "$uid": "123232455"
    },
  ],
}

 

上一个
路径分析模型API
下一个
用户属性搜索API
最近修改: 2024-12-30