Skip to content

数据集字段

数据集字段说明

数据集字段定义

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

数据集字段结构说明

字段类型描述
idLONG字段的 id
datasetIdLONG字段所在的数据集的 id
fieldNameSTRING字段名
typeSTRING字段类型,字段类型包含: number,date,string,bool,json,unknown 6种
nativeTypeSTRING字段数据源内部类型,和具体数据源相关,比如BIGINT,VARCHAR等
originTypeSTRING字段原始类型,字段类型包含: number,date,string,bool,json,unknown 6种
suggestedTypesSTRING 数组字段允许选择的类型,类型包含: number,date,string,bool,json,unknown 6种
visibleBOOL字段是否隐藏,包括 true 和 false
labelSTRING字段的别名
exprHE字段的计算表达式,原始字段没有此项值
expr.valueSTRING当 expr 的 kind 为 formula时, value显示用户可读的表达式
configOBJECT字段的配置
config.formatterOBJECT字段的格式
config.formatter.decimalINTEGER数字字段值的小数位数
config.formatter.percentSTRING显示百分比设置为"%",不显示为""
config.formatter.prefixSTRING字段值的前缀
config.formatter.suffixSTRING字段值的后缀
config.formatter.unitSTRING字段值的单位,包含:亿,千万,百万,万,千,百,M,K
config.formatter.thousandsBOOL显示千分位分隔符, 启用设置为true
config.formatter.scientificNotationBOOL科学计数法,启用设置为true
hsVersionINTEGER可选,本次编辑的版本号,从0开始,修改前先GET待修改资源获取当前版本号,修改时带上刚刚获取的版本号,服务端会检查并发冲突。不带版本号不检查并发冲突。
commentSTRING数据库表格的字段描述,只有直连的table有,不能编辑
userCommentSTRING用户编辑的字段描述,默认为空
inUseBOOL标记这个字段是否被使用

数据集字段接口说明

新增字段

请求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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
Request Body 参数

数据集字段结构说明

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集字段结构说明

接口示例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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
hideInvisibleBOOL是否隐藏不可见字段,默认是 false
inUseOnlyBOOL只列出被使用的字段,默认是 false
markInUseBOOL返回所有的字段,并且被使用的字段会加上 inUse=true 的标记,默认是 false

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集字段结构说明

批量更新数据集的字段

请求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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
response body 请求体

多字段的配置信息

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集字段结构说明

接口示例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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
fieldNameSTRING字段名

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集字段结构说明

更新 {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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
fieldNameSTRING字段名
request body 请求体

数据集字段结构说明

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集字段结构说明

删除 {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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
fieldNameSTRING字段名

返回对象的格式说明

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

数据集指标

数据集指标说明

数据集指标定义

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

数据集指标结构说明

指标的基础结构和字段结构相同,下面是指标特有的结构说明。

字段类型描述
expr.isAggregateBOOL指标是不是聚合计算的值
expr.isConstantBOOL指标是不是常量值

数据集指标接口说明

新增指标

请求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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
Request Body 参数

数据集字段结构说明

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集指标结构说明

接口示例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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集指标结构说明

修改数据集上的单个指标

请求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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
fieldNameINTEGER指标名
response body 请求体

数据集字段结构说明

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集指标结构说明

接口示例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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
fieldNameSTRING指标名

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT数据集指标结构说明

删除 {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 参数
字段类型是否必须说明
appIdINTEGER数据集所在的应用 ID
datasetIdINTEGER数据集 ID
fieldNameSTRING指标名

返回对象的格式说明

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

HENGSHI SENSE API 使用手册