# 指标查询 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 | 返回信息 | 
