主题
数据集字段
数据集字段说明
数据集字段定义
数据集字段是数据集的重要组成部分,描述了数据集提供的所有字段属性,分为原始字段和新增字段两类。
数据集字段结构说明
字段 | 类型 | 描述 |
---|---|---|
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 | 用户编辑的字段描述,默认为空 |
inUse | BOOL | 标记这个字段是否被使用 |
接口说明
新增字段
请求URL
http
POST /api/apps/${appId}/datasets/{datasetId}/fields HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
Request Body 参数
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集字段结构说明 |
接口示例1: 新增字段
http
POST /api/apps/1/datasets/1/fields HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"label": "测试",
"visible": true,
"expr": {
"kind": "formula",
"op": "{{数据集1}}.{id} + {{数据集1}}.{idplus}",
"value": "{{数据集1}}.{id} + {{数据集1}}.{idplus}"
}
}
}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"version": "version@9a5e106#6730f0d",
"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}"
}
}
获取数据集所有字段
请求URL
http
GET /api/apps/${appId}/datasets/{datasetId}/fields HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
hideInvisible | BOOL | 否 | 是否隐藏不可见字段,默认是 false |
inUseOnly | BOOL | 否 | 只列出被使用的字段,默认是 false |
markInUse | BOOL | 否 | 返回所有的字段,并且被使用的字段会加上 inUse=true 的标记,默认是 false |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集字段结构说明 |
批量更新数据集的字段
请求URL
http
PUT /api/apps/${appId}/datasets/{datasetId}/fields HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
response body 请求体
多字段的配置信息
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集字段结构说明 |
接口示例1: 批量更新字段
http
PUT /api/apps/1/datasets/1/fields HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"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
}
获取 {id} 数据集的 {fieldName} 字段
请求URL
http
GET /api/apps/${appId}/datasets/{datasetId}/fields/{fieldName} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
fieldName | STRING | 是 | 字段名 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集字段结构说明 |
更新 {id} 数据集的 {fieldName} 字段
可用于更新新增字段的表达式
请求URL
http
PUT /api/apps/${appId}/datasets/{datasetId}/fields/{fieldName} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
fieldName | STRING | 是 | 字段名 |
request body 请求体
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集字段结构说明 |
删除 {id} 数据集的 {fieldName} 字段
请求URL
http
DELETE /api/apps/${appId}/datasets/{datasetId}/fields/{fieldName} HTTP/1.1
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
fieldName | STRING | 是 | 字段名 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
msg | STRING | 执行成功返回 success |
数据集指标
数据集指标说明
数据集指标定义
数据集指标是预定义的图表度量值,可以是数字常量值或者聚合计算的值。
数据集指标结构说明
指标的基础结构和字段结构相同,下面是指标特有的结构说明。
字段 | 类型 | 描述 |
---|---|---|
expr.isAggregate | BOOL | 指标是不是聚合计算的值 |
expr.isConstant | BOOL | 指标是不是常量值 |
接口说明
新增指标
请求URL
http
POST /api/apps/${appId}/datasets/{datasetId}/metrics HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
Request Body 参数
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集指标结构说明 |
接口示例1: 新增指标
http
POST /api/apps/1/datasets/1/metrics HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"label": "指标1",
"visible": true,
"expr": {
"kind": "formula",
"op": "sum({{1text}}.{region_id})",
"value": "sum({{1text}}.{region_id})"
}
}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"version": "version@9a5e106#6730f0d",
"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
}
}
获取数据集所有指标
请求URL
http
GET /api/apps/${appId}/datasets/{datasetId}/metrics HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集指标结构说明 |
修改数据集上的单个指标
请求URL
http
PUT /api/apps/${appId}/datasets/{datasetId}/metrics/{fieldName} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
fieldName | INTEGER | 是 | 指标名 |
response body 请求体
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集指标结构说明 |
接口示例1: 修改数据集上的单个指标
http
PUT /api/apps/1/datasets/1/metrics/c0 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"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})"
}
}
获取数据集上的单个指标
请求URL
http
GET /api/apps/${appId}/datasets/{datasetId}/metrics/{fieldName} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
fieldName | STRING | 是 | 指标名 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见数据集指标结构说明 |
删除 {id} 数据集的 {fieldName} 指标
请求URL
http
DELETE /api/apps/${appId}/datasets/{datasetId}/metrics/{fieldName} HTTP/1.1
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 数据集所在的应用 ID |
datasetId | INTEGER | 是 | 数据集 ID |
fieldName | STRING | 是 | 指标名 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
msg | STRING | 执行成功返回 success |