# 指标查询 API
调用方法请参见Open API文档中的调用方法描述。
建议先阅读 TE 使用手册了解项目管理相关功能:指标
# 查询可用指标列表
根据条件查询指标的定义
接口URL
/open/metric-list?token=xxx
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
请求body参数说明
{
"projectId": 102,
"metricName": "retention_1", //指标名称-支持模糊匹配
"metricDesc": "次日留存" // 指标显示-支持模糊匹配
"metricModes" ["EVENT","RETENTION"], // 指标创建来源
"createUser":"root", //创建人
"updateUser":"root", //最后修改人
"timeParticleSize":"day" //指标支持的时间粒度
}
$$参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
projectId | 102 | Integer | 是 | 项目ID |
metricName | retention_1 | String | 否 | 指标名称-支持模糊匹配 |
metricDesc | 次日留存 | String | 否 | 指标显示名称-支持模糊匹配 |
metricModes | ["EVENT", "RETENTION"] | List | 否 | 指标创建来源 EVENT-事件指标 RETENTION-留存指标 |
createUser | root | String | 否 | 指标创建人登陆名称 |
updateUser | root | String | 否 | 指标修改人登陆名称 |
timeParticle | day | String | 否 |
指标支持的时间单位
|
响应参数说明
{
"data":
[
{
"metricId": 1,
"projectId": 2,
"metricName": "retention_1",
"metricDesc": "次日留存",
"metricRemark": "注册用户次日留存",
"metricMode": "EVENT",
"createUser": "root",
"updateUser": "root",
"createTime": "2022-12-12 10:10:00",
"updateTime": "2022-12-12 10:10:00",
"timeParticles":[ "minute"],
"format": "FORMAT_FLOAT"
}
],
"return_code": 0,
"return_message": "success"
}
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
data | - | 返回结果 | |
data.metricId | 1 | Long | 指标Id |
data.projectId | 102 | Integer | 指标所属项目Id |
data.metricName | retention_1 | String | 指标名称 |
data.metricDesc | 次日留存 | String | 指标显示名称 |
data.metricRemark | 注册用户次日留存 | String | 指标备注 |
data.metricMode | RETENTION | String | 指标创建来源 |
data.createUser | root | String | 指标创建用户 |
data.updateUser | root | String | 指标修改用户 |
data.createTime | 2022-12-12 10:10:00 | Date | 指标创建日期 |
data.updateTime | 2022-12-12 10:10:00 | Date | 指标修改日期 |
data.timeParticles | ['day', 'hour', 'month'] | List |
指标支持的时间单位
|
data.format | FORMAT_FLOAT | String |
指标格式
|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
# 查询指标数据
接口URL
/open/metric-data?token=xxx
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
请求Body参数
{
"eventView": {
"comparedByTime": true,
"comparedStartTime": "2021-12-14 00:00:00",
"comparedEndTime": "2021-12-20 23:59:59",
"comparedRecentDay": "8-14",
"startTime": "2021-12-21 00:00:00",
"endTime": "2021-12-27 23:59:59",
"recentDay": "1-7",
"timeParticleSize": "day",
"groupBy": [{
"columnDesc": "品牌",
"columnName": "brand",
"propertyRange": "",
"specifiedClusterDate": "2021-12-28",
"tableType": "event"
}],
"relation": "and",
"filts": [{
"columnDesc": "品牌",
"columnName": "brand",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": ["苹果", "小米"],
"specifiedClusterDate": "2021-12-28",
"tableType": "event",
"timeUnit": ""
}],
"queryFeature": {
"approximateOn": true,
"globalQueryOn": false
}
},
"metrics":["retention_1","dau"]
"zoneOffset": 0
"projectId": 377,
"useSameResultKey": false,
"useCache": true,
"limit": 1000,
"timeoutSeconds": 10
}
$$参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
eventView | - | Object | 是 | 指标公共属性部分 |
eventView.comparedByTime | true | Boolean | 否 | 是否对比时间,TRUE:是,FALSE:否 |
eventView.comparedStartTime | 2021-12-14 00:00:00 | String | 否 | 对比时间开始时间(格式:yyyy-MM-dd HH:mm:ss),对比时间相对时间为空时有效 |
eventView.comparedEndTime | 2021-12-20 23:59:59 | String | 否 | 对比时间结束时间(格式:yyyy-MM-dd HH:mm:ss),对比时间相对时间为空时有效 |
eventView.comparedRecentDay | 8-14 | String | 否 | 对比时间相对时间(comparedByTime为TRUE时,此项不可与对比时间起始时间和对比时间结束时间同时为空) |
eventView.startTime | 2021-12-21 00:00:00 | String | 否 | 起始时间(格式:yyyy-MM-dd HH:mm:ss),相对时间为空时有效 |
eventView.endTime | 2021-12-27 23:59:59 | String | 否 | 结束时间(格式:yyyy-MM-dd HH:mm:ss),相对时间为空时有效 |
eventView.recentDay | 1-7 | String | 否 | 相对时间(此项不可与起始时间和结束时间同时为空) |
eventView.relation | and | String | 否 | 逻辑关系,and:逻辑与,or:逻辑或 |
eventView.timeParticleSize | day | String | 是 |
分析的时间单位
|
eventView.groupBy | - | List | 否 | 分组属性,可以有零个或者多个 |
eventView.groupBy.columnName | brand | String | 是 | 字段名 |
eventView.groupBy.columnDesc | 品牌 | String | 否 | 字段显示名 |
eventView.groupBy.propertyRange | String | 否 | 自定义属性区间 | |
eventView.groupBy.propertyRangeType | String | 否 |
属性区间类型,对数值型属性进行分组时,可以为自定义分桶条件
| |
eventView.groupBy.specifiedClusterDate | 2021-12-28 | String | 否 | 指定对应日期的标签历史版本 |
eventView.groupBy.tableType | event | String | 是 | 表类型枚举值 |
eventView.filts | - | List | 否 | 全局筛选项 |
eventView.filts.columnDesc | 品牌 | String | 否 | 字段显示名 |
eventView.filts.columnName | brand | String | 是 | 字段名 |
eventView.filts.comparator | equal | String | 是 | 参考: 模型查询API的筛选表达式 |
eventView.filts.filterType | SIMPLE | String | 否 | 过滤模式,SIMPLE:简单,COMPOUND:复合,默认SIMPLE |
eventView.filts.ftv | ["苹果", "小米"] | List | 否 | 用于属性比较边界的字面常量 |
eventView.filts.specifiedClusterDate | 2021-12-28 | String | 否 | 指定对应日期的标签历史版本 |
eventView.filts.tableType | event | String | 是 | 表类型枚举值 |
eventView.filts.timeUnit | String | 否 | 属性对比值单位,仅对relativeEvent*有效:day,hour,minute | |
eventView.queryFeature | - | Object | 否 | 查询配置 |
eventView.queryFeature.approximateOn | true | Boolean | 否 | 是否开启近似计算 |
metrics | ["retention_1","dau"] | list | 是 | 指标名称列表 |
projectId | 377 | Integer | 是 | 项目Id |
zoneOffset | 0 | Integer | 否 | 使用时区 |
useCache | true | Boolean | 否 | 使用缓存,可选参数,默认为true |
limit | 1000 | Integer | 否 | 每分析对象的分组数上限,可选参数,默认为1000,最大为10000 |
timeoutSeconds | 10 | Integer | 否 | 请求超时参数,超时则取消查询任务 |
成功响应示例
{
"data": {
"result_generate_time": "2021-12-30 11:15:41",
"union_groups": [
[
"Safari",
"苹果"
],
[
"Firefox",
"小米"
],
[
"微信内置浏览器",
"苹果"
],
[
"总体",
"苹果"
],
[
"总体",
"小米"
]
],
"x": [
"2021-12-23",
"2021-12-24",
"2021-12-25",
"2021-12-26",
"2021-12-27",
"2021-12-28",
"2021-12-29"
],
"x_compared": [
"2021-12-16",
"2021-12-17",
"2021-12-18",
"2021-12-19",
"2021-12-20",
"2021-12-21",
"2021-12-22"
],
"y": [
{
"retention_1": [
{
"group_cols": [
"Safari",
"苹果"
],
"group_num": 3,
"values": [
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"values_compared": [
"447",
"980",
"1584",
"321",
"285",
"74",
"0"
]
},
{
"group_cols": [
"Firefox",
"小米"
],
"group_num": 3,
"values": [
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"values_compared": [
"291",
"818",
"1128",
"272",
"219",
"58",
"0"
]
},
{
"group_cols": [
"微信内置浏览器",
"苹果"
],
"group_num": 3,
"values": [
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"values_compared": [
"231",
"500",
"764",
"214",
"155",
"35",
"0"
]
}
]
},
{
"dau": [
{
"group_cols": [
"总体",
"苹果"
],
"group_num": 2,
"values": [
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"values_compared": [
"640",
"811",
"1251",
"1253",
"720",
"113",
"0"
]
},
{
"group_cols": [
"总体",
"小米"
],
"group_num": 2,
"values": [
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"values_compared": [
"277",
"439",
"600",
"666",
"364",
"59",
"0"
]
}
]
}
]
},
"return_code": 0,
"return_message": "success"
}
响应参数说明
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
data | - | Object | 返回结果 |
data.result_generate_time | 2021-12-29 12:00:00 | String | 查询结果生成时间 |
data.union_groups | ["苹果"] | List | 所有分组集合 |
data.x | ["2021-12-23"] | List | X轴时间 |
data.x_compared | ["2021-12-16"] | List | X轴对比时间 |
data.y | - | List | Y轴数据列表 |
data.y.{指标名称} | - | List | Y轴指标信息列表 |
data.y.{指标名称}.group_cols | ["苹果"] | List | Y轴指标分组 |
data.y.{指标名称}.group_num | 3 | Integer | Y轴指标分组数量 |
data.y.{指标名称}.values | ["0"] | List | Y轴指标数值 |
data.y.{指标名称}.values_compared | ["447"] | List | Y轴时间对比指标数值 |
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |