1. 数据集字段

1.1. 数据集字段说明

1.1.1. 数据集字段定义

数据集字段是数据集的重要组成部分,描述了数据集提供的所有字段属性,分为原始字段和新增字段两类。

数据集字段结构说明

字段 类型 描述
id LONG 字段的 id
datasetId LONG 字段所在的数据集的 id
fieldName STRING 字段名
type STRING 字段类型,字段类型包含: number,date,string,bool,json,unknown 6种
nativeType STRING 字段数据源内部类型,和具体数据源相关,比如BIGINT,VARCHAR等
originType STRING 字段原始类型,字段类型包含: number,date,string,bool,json,unknown 6种
suggestedTypes STRING 数组 字段允许选择的类型,类型包含: number,date,string,bool,json,unknown 6种
visible BOOL 字段是否隐藏,包括 true 和 false
label STRING 字段的别名
expr HE 字段的计算表达式,原始字段没有此项值
expr.value STRING 当 expr 的 kind 为 formula时, value显示用户可读的表达式
config OBJECT 字段的配置
config.formatter OBJECT 字段的格式
config.formatter.decimal INTEGER 数字字段值的小数位数
config.formatter.percent STRING 显示百分比设置为"%",不显示为""
config.formatter.prefix STRING 字段值的前缀
config.formatter.suffix STRING 字段值的后缀
config.formatter.unit STRING 字段值的单位,包含:亿,千万,百万,万,千,百,M,K
config.formatter.thousands BOOL 显示千分位分隔符, 启用设置为true
config.formatter.scientificNotation BOOL 科学计数法,启用设置为true
hsVersion INTEGER 可选,本次编辑的版本号,从0开始,修改前先GET待修改资源获取当前版本号,修改时带上刚刚获取的版本号,服务端会检查并发冲突。不带版本号不检查并发冲突。
comment STRING 数据库表格的字段描述,只有直连的table有,不能编辑
userComment STRING 用户编辑的字段描述,默认为空

1.2. 接口说明

1.2.1. 新增字段

请求URL

POST /api/v1/apps/${appId}/datasets/{datasetId}/fields"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
Request Body 参数

数据集字段结构说明

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集字段结构说明

接口示例1: 新增字段

POST /api/v1/apps/1/datasets/1/fields

{
    "options": {
        "label": "测试",
        "visible": true,
        "expr": {
            "kind": "formula",
            "op": "{{数据集1}}.{id} + {{数据集1}}.{idplus}",
            "value": "{{数据集1}}.{id} + {{数据集1}}.{idplus}"
        }
    }
}

返回

{
    "version": "3.2-SNAPSHOT@35b7de5#cf5cbbe",
    "code": 0,
    "msg": "success",
    "data": {
        "id": 3797644,
        "datasetId": 1,
        "fieldName": "c0",
        "appId": 46176,
        "originType": "integer",
        "type": "number",
        "config": {
            "dialectName": "EngineDialect"
        },
        "label": "测试",
        "visible": true,
        "expr": {
            "kind": "formula",
            "op": "{{数据集1}}.{id} + {{数据集1}}.{idplus}",
            "value": "{{数据集1}}.{id} + {{数据集1}}.{idplus}"
        },
        "nativeType": "int4",
        "suggestedTypes": [
            "number",
            "string"
        ],
        "detectedType": "integer",
        "defaultAggrType": "sum",
        "basicType": "number",
        "formula": "{{数据集1}}.{id} + {{数据集1}}.{idplus}"
    }
}

1.2.2. 获取数据集所有字段

请求URL

GET /api/v1/apps/${appId}/datasets/{datasetId}/fields"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
hideInvisible BOOL 是否隐藏不可见字段,默认是 false
inUseOnly BOOL 只列出被使用的字段,默认是 false

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集字段结构说明

1.2.3. 批量更新数据集的字段

请求URL

PUT /api/v1/apps/${appId}/datasets/{datasetId}/fields"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
response body 请求体

多字段的配置信息

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集字段结构说明

接口示例1: 批量更新字段

PUT /api/v1/apps/1/datasets/1/fields

{
    "options": {
        "schema": [
            {
                "datasetId": "1",
                "fieldName": "id",
                "hsVersion": 6,
                "originType": "integer",
                "type": "number",
                "comment": "序号",
                "config": {
                    "dialectName": "EngineDialect",
                    "formatter": {
                        "scientificNotation": true,
                        "unit": "",
                        "nullReplace": {
                            "op": 0,
                            "kind": "constant",
                            "type": "number"
                        },
                        "prefix": "",
                        "suffix": "自动",
                        "decimal": 2,
                        "thousands": false,
                        "percent": ""
                    }
                },
                "label": "id",
                "basicType": "number",
                "visible": true,
                "nativeType": "bigserial",
                "suggestedTypes": [
                    "number",
                    "string"
                ],
                "detectedType": "integer",
                "defaultAggrType": "sum"
            },
            {
                "datasetId": "1",
                "fieldName": "province_code",
                "hsVersion": 6,
                "originType": "string",
                "type": "string",
                "comment": "省份代码",
                "config": {
                    "seperator": " ",
                    "dialectName": "EngineDialect"
                },
                "label": "province_code",
                "basicType": "string",
                "visible": true,
                "nativeType": "varchar",
                "suggestedTypes": [
                    "number",
                    "string"
                ],
                "detectedType": "number",
                "defaultAggrType": "count"
            }
        ]
    },
    "hsVersion": 13
}

1.2.4. 获取 {id} 数据集的 {fieldName} 字段

请求URL

GET /api/v1/apps/${appId}/datasets/{datasetId}/fields/{fieldName}"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
fieldName STRING 字段名

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集字段结构说明

1.2.5. 更新 {id} 数据集的 {fieldName} 字段

可用于更新新增字段的表达式

请求URL

PUT /api/v1/apps/${appId}/datasets/{datasetId}/fields/{fieldName}"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
fieldName STRING 字段名
request body 请求体

数据集字段结构说明

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集字段结构说明

1.2.6. 删除 {id} 数据集的 {fieldName} 字段

请求URL

DELETE /api/v1/apps/${appId}/datasets/{datasetId}/fields/{fieldName}"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
fieldName STRING 字段名

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
msg STRING 执行成功返回 success

2. 数据集指标

2.1. 数据集指标说明

2.1.1. 数据集指标定义

数据集指标是预定义的图表度量值,可以是数字常量值或者聚合计算的值。

数据集指标结构说明

指标的基础结构和字段结构相同,下面是指标特有的结构说明。 | 字段 | 类型 | 描述 | |---------------------------------------|------------|--------------------------| | expr.isAggregate | BOOL | 指标是不是聚合计算的值 | | expr.isConstant | BOOL | 指标是不是常量值 |

2.2. 接口说明

2.2.1. 新增指标

请求URL

POST /api/v1/apps/${appId}/datasets/{datasetId}/metrics"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
Request Body 参数

数据集字段结构说明

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集指标结构说明

接口示例1: 新增指标

POST /api/v1/apps/1/datasets/1/metrics

{
    "label": "指标1",
    "visible": true,
    "expr": {
        "kind": "formula",
        "op": "sum({{1text}}.{region_id})",
        "value": "sum({{1text}}.{region_id})"
    }
}

返回

{
    "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
    "code": 0,
    "msg": "success",
    "data": {
        "fieldName": "c5",
        "label": "指标1",
        "expr": {
            "kind": "formula",
            "op": "sum({{1}}.{region_id})",
            "type": "number",
            "value": "sum({{1text}}.{region_id})",
            "isAggregate": true,
            "isConstant": false
        },
        "type": "number",
        "datasetId": 1,
        "appId": 1
    }
}

2.2.2. 获取数据集所有指标

请求URL

GET /api/v1/apps/${appId}/datasets/{datasetId}/metrics"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集指标结构说明

2.2.3. 修改数据集上的单个指标

请求URL

PUT /api/v1/apps/${appId}/datasets/{datasetId}/metrics/{fieldName}"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
fieldName INTEGER 指标名
response body 请求体

数据集字段结构说明

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集指标结构说明

接口示例1: 修改数据集上的单个指标

PUT /api/v1/apps/1/datasets/1/metrics/c0

{
    "label": "指标2",
    "visible": true,
    "type": "number",
    "originType": "number",
    "expr": {
        "kind": "formula",
        "op": "count({{1text}}.{country_id}) / sum({{1text}}.{region_id})",
        "value": "count({{1text}}.{country_id}) / sum({{1text}}.{region_id})"
    }
}

2.2.4. 获取数据集上的单个指标

请求URL

GET /api/v1/apps/${appId}/datasets/{datasetId}/metrics/{fieldName}"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
fieldName STRING 指标名

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 数据集指标结构说明

2.2.5. 删除 {id} 数据集的 {fieldName} 指标

请求URL

DELETE /api/v1/apps/${appId}/datasets/{datasetId}/metrics/{fieldName}"

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 数据集所在的应用 ID
datasetId INTEGER 数据集 ID
fieldName STRING 指标名

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
msg STRING 执行成功返回 success

results matching ""

    No results matching ""

    数据集 从表数据集