图表参考引用文档在此处:图表
图表说明
图表的定义
图表是由表达某个业务计算的数据绘制。
图表结构说明
Chart
字段 | 类型 | 描述 |
---|---|---|
appId | LONG | 图表所属的应用 id |
dataAppId | LONG | 图表用的数据集所属的应用 id |
dashboardId | LONG | 图表所属的仪表盘 id |
title | STRING | 图表标题 |
datasetId | LONG | 图表所用的主表数据集 id |
options | OBJECT | 仪表盘配置信息 |
options.template | STRING | 为葡萄城模板转成json字符串后的内容。 |
options.page | BOOL | 是否分页,仅对复杂表格生效,为false或者null表示不分页,为true表示分页 |
options.grapeCityInsertMode | STRING | 为葡萄城模板扩展模式,值为Cells或者EntireRowColumn。 |
options.axes | HE 数组 | 用于绘图的维度和度量计算方法 |
options.axes[i].dataAppId | INTEGER | 非HE部分,用于记录复杂报表相关的信息,轴用到的字段来自的数据集所属的app。 |
options.axes[i].cellPosition | STRING | 表示对应的单元格坐标,比如B2。 |
options.axes[i].cellContextX | STRING | 表示横向的上下文,比如A2。 |
options.axes[i].cellContextY | STRING | 表示纵向的上下文,比如B1。 |
options.axes[i].cellExpansion | STRING | 表示扩展方向,比如V表示纵向扩展,H表示横向扩展,N表示无。 |
options.axes[i].repeatOutput | BOOL | 单元格分页跨页的时候,是否跨页都显示一遍 |
options.axes[i].keepTogether | STRING | 分页时尽量不断开的范围,比如A1:B3 |
options.axes[i].keepTogetherToggle | BOOL | 是否启用keepTogether |
options.axes[i].attachTo | STRING | 指定与某个单元格共同出现,内容为单元格表达式,比如A1 |
options.axes[i].attachToToggle | BOOL | 是否启用attachTo |
options.axes[i].repeatWithGroup | STRING | 在报表中生成与指定引用单元格重复的单元格,内容为单元格表达式,比如A1 |
options.axes[i].repeatWithGroupToggle | BOOL | 是否启用repeatWithGroup |
options.axes[i].imageToggle | BOOL | 是否显示图片 |
options.axes[i].barcodeFunction | STRING | 生成二维码的函数 |
options.axes[i].barcodeToggle | BOOL | 是否生成二维码 |
options.otherCellInfos | OBJECT 数组 | 表示非轴的复杂表格中的一些特殊的cell的信息 |
options.otherCellInfos[i].cellPosition | STRING | 表示非计算字段单元格对应的单元格坐标,比如B2。 |
options.otherCellInfos[i].cellContextX | STRING | 表示非计算字段单元格横向的上下文,比如A2。 |
options.otherCellInfos[i].cellContextY | STRING | 表示非计算字段单元格纵向的上下文,比如B1。 |
options.otherCellInfos[i].cellExpansion | STRING | 表示非计算字段单元格扩展方向,比如V表示纵向扩展,H表示横向扩展,N表示无。 |
options.otherCellInfos[i].repeatOutput | BOOL | 单元格分页跨页的时候,是否跨页都显示一遍 |
options.otherCellInfos[i].keepTogether | STRING | 分页时尽量不断开的范围,比如A1:B3 |
options.otherCellInfos[i].keepTogetherToggle | BOOL | 是否启用keepTogether |
options.otherCellInfos[i].attachTo | STRING | 指定与某个单元格共同出现,内容为单元格表达式,比如A1 |
options.otherCellInfos[i].attachToToggle | BOOL | 是否启用attachTo |
options.otherCellInfos[i].repeatWithGroup | STRING | 在报表中生成与指定引用单元格重复的单元格,内容为单元格表达式,比如A1 |
options.otherCellInfos[i].repeatWithGroupToggle | BOOL | 是否启用repeatWithGroup |
options.otherCellInfos[i].imageToggle | BOOL | 是否显示图片 |
options.otherCellInfos[i].barcodeFunction | STRING | 生成二维码的函数 |
options.otherCellInfos[i].barcodeToggle | BOOL | 是否生成二维码 |
options.timebar | HE | 时间轴过滤器 |
options.where | HE 数组 | 图表的过滤条件,主要是用于原始字段的过滤 |
options.having | HE 数组 | 图表的过滤条件,主要用户图内指标的过滤 |
options.sort | HE 数组 | 图表的排序条件 |
options.limit | INTEGER | 数据的行数限制 |
options.offset | INTEGER | 数据的偏移量 |
options.refresh | BOOL | 是否强制刷新。取图表数据时,true表示不会用缓存,false表示可以使用缓存 |
options.fieldsPolicy | ENUM | 取field的规则,详情见下表 |
options.publishConfig | OBJECT | 图表在发布或者共享时的交互配置 |
hsVersion | INTEGER | 可选,本次编辑的版本号,从0开始,修改前先GET待修改资源获取当前版本号,修改时带上刚刚获取的版本号,服务端会检查并发冲突。不带版本号不检查并发冲突。 |
datasetInfos | OBJECT 数组 | 专用于复杂表格类型的图表,用到的数据集列表 |
datasetInfos[i].appId | INTEGER | 复杂表格用到的数据集的对应的应用id |
datasetInfos[i].datasetId | INTEGER | 复杂表格用到的数据集的id |
datasetInfos[i].datasetTitle | STRING | 复杂表格用到的数据集的名字 |
datasetInfos[i].datasetIds | INTEGER 数组 | axes里面用到的数据集字段对应的主表或者从表信息,可用于前端对数据集打勾 |
datasetInfos[i].relativeDatasets | OBJECT 数组 | 主表下面的所有从表信息 |
datasetInfos[i].relativeDatasets[i].datasetId | INTEGER | 从表id |
datasetInfos[i].relativeDatasets[i].title | INTEGER | 从表title |
sourceAppId | LONG | 链接图表的源图表所在应用的 id |
sourceId | LONG | 链接图表的源图表 id |
chartComment | STRING | 图表的注释信息 |
ChartDto
字段 | 类型 | 描述 |
---|---|---|
schema | OBJECT | 图表schema信息,参见数据集结构说明 options.schema |
datasetName | STRING | 图表用的数据集名称 |
isCollaborated | BOOLEAN | 是否协作 |
targetDashboardId | LONG | 仪表盘id |
dashboardOptions | OBJECT | 仪表盘配置信息 |
importType | STRING | LINK 表示链接,COPY 表示复制 |
mapFieldByLabel | BOOLEAN | true 表示切换数据集的时候用字段的 label 匹配,否则用字段的 fieldname 匹配 |
options.fieldsPolicy 枚举说明说明
ENUM | 描述 |
---|---|
all | 取图表用到的所有dataset的所有fields |
AXES_USED | 取图表中维度、度量用到的所有fields |
USED | 取图表用到的有fields |
AXES_ALL | 取图表中维度、度量用到的所有dataset的所有fields |
DATASET_TABLE | 用户数据集表格取数据 |
接口说明
创建图表
创建图表。
请求URL
http
POST /api/apps/{appId}/dashboards/{dashboardId}/charts HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
request body 参数
每种图表的共同结构见ChartDto结构说明。
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
接口示例1: 在仪表盘中创建图表
RequestResponse
http
POST /api/apps/1/dashboards/1/charts HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"name": "Table",
"version": 3000
},
"dashboardOptions": {
"layouts": {
"1": {
"h": 12,
"i": "1",
"w": 24,
"x": 0,
"y": 0
},
"null": {
"i": null,
"x": 0,
"y": 12,
"w": 12,
"h": 6
}
}
},
"title": "新建探索"
}
接口示例1: 在应用中创建业务指标
RequestResponse
http
POST /api/apps/1/charts HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"name": "Table",
"version": 3000
},
"title": "新建探索"
}
1
2
3
4
5
6
7
8
9
10
11
12
获取仪表盘中的图表
获取仪表盘中的图表。
请求URL
http
GET /api/apps/{appId}/dashboards/{dashboardId}/charts HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
获取数据包中的图表库
获取数据包中的图表库
请求URL
http
GET /api/apps/{appId}/charts HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
orderBy | STRING | 用来排序的字段 |
orderType | STRING | 排序的方向,可选值为 asc、desc |
chartNames | STRING | 要搜索的图表类型,多个用 , 分隔,比如 bar,table |
excludeLinkChart | BOOL | 是否包含链接图表 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
通过 ID 获取仪表盘中的图表信息
通过 ID 获取仪表盘中的图表信息
请求URL
http
GET /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
当图表所在应用是发布区应用或者通过共享链接访问时,data 里的 options.publishConfig 会用应用的 options.publishConfig 赋值。
通过 ID 获取图表库中的图表信息
通过 ID 获取图表库中的图表信息
请求URL
http
GET /api/apps/{appId}/charts/{chartId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
chartId | INTEGER | 图表的 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
更新仪表盘中的图表信息
更新仪表盘中的图表信息
请求URL
http
PUT /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
request body 参数
每种图表的共同结构见ChartDto结构说明。在有 axes 但是数据库中的图表没有 datasetId 的时候,request body 中的 chart.datasetId是必须的。
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
接口示例1: 更新图表
RequestResponse
http
PUT /api/apps/1/dashboards/charts/1 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"name": "Pie",
"axes": [
{
"fieldName": "director",
"datasetId": 3,
"axisName": "group",
"labelOrigin": "director",
"fieldType": "string",
"uid": "u_bb3509cb74ac545d_0",
"parentUid": null,
"keyChain": [
"group",
"none"
],
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"kind": "function",
"op": "group",
"args": [
{
"kind": "field",
"op": "director",
"dataset": 3
}
]
}
],
"marks": [
{
"color": {
"schema": [
"#4479EC",
"#A3B9ED",
"#7759CA",
"#53BBEC",
"#ACD667",
"#868F90",
"#6071C6",
"#6ADAC2",
"#339BEB",
"#72B15E"
]
}
}
],
"zoomPath": [],
"version": 3200,
"sort": []
},
"dataAppId": 4662,
"datasetId": 3
}
接口示例2: 切换图表使用的数据源,并使用数据集字段label匹配
RequestResponse
http
PUT /api/apps/1/dashboards/charts/1 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"name": "Pie",
"axes": [
{
"fieldName": "director",
"datasetId": 3,
"axisName": "group",
"labelOrigin": "director",
"fieldType": "string",
"uid": "u_bb3509cb74ac545d_0",
"parentUid": null,
"keyChain": [
"group",
"none"
],
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"kind": "function",
"op": "group",
"args": [
{
"kind": "field",
"op": "director",
"dataset": 3
}
]
}
],
"marks": [
{
"color": {
"schema": [
"#4479EC",
"#A3B9ED",
"#7759CA",
"#53BBEC",
"#ACD667",
"#868F90",
"#6071C6",
"#6ADAC2",
"#339BEB",
"#72B15E"
]
}
}
],
"zoomPath": [],
"version": 3200,
"sort": []
},
"dataAppId": 4662,
"datasetId": 4,
"mapFieldByLabel": true
}
更新图表库中的图表信息
更新图表库中的图表信息
请求URL
http
PUT /api/apps/{appId}/charts/{chartId} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
chartId | INTEGER | 图表的 Id |
request body 参数
每种图表的共同结构见ChartDto结构说明。在有 axes 但是数据库中的图表没有 datasetId 的时候,request body 中的 chart.datasetId是必须的。
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
接口示例1: 更新图表库中的图表信息
RequestResponse
http
PUT /api/apps/charts/1 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"name": "Pie",
"axes": [
{
"fieldName": "director",
"datasetId": 3,
"axisName": "group",
"labelOrigin": "director",
"fieldType": "string",
"uid": "u_bb3509cb74ac545d_0",
"parentUid": null,
"keyChain": [
"group",
"none"
],
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"kind": "function",
"op": "group",
"args": [
{
"kind": "field",
"op": "director",
"dataset": 3
}
]
}
],
"marks": [
{
"color": {
"schema": [
"#4479EC",
"#A3B9ED",
"#7759CA",
"#53BBEC",
"#ACD667",
"#868F90",
"#6071C6",
"#6ADAC2",
"#339BEB",
"#72B15E"
]
}
}
],
"zoomPath": [],
"version": 3200,
"sort": []
},
"dataAppId": 4662,
"datasetId": 3
}
删除仪表盘中的图表
删除仪表盘中的图表
请求URL
http
DELETE /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId} HTTP/1.1
1
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
msg | STRING | 成功返回 success |
删除图表库中的图表
删除图表库中的图表
请求URL
http
DELETE /api/apps/{appId}/charts/{chartId} HTTP/1.1
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
chartId | INTEGER | 图表的 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
msg | STRING | 成功返回 success |
批量导入图表
批量导入图表
请求URL
http
POST /api/apps/{appId}/dashboards/{dashboardId}/charts/import HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
request body 参数
每种图表的共同结构见ChartDto结构说明。在有 axes 但是数据库中的图表没有 datasetId 的时候,request body 中的 chart.datasetId是必须的。
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
接口示例1: 以链接方式导入数据包图表库中的图表
RequestResponse
http
POST /api/apps/10744/dashboards/1/charts/import HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
[
{
"id": 4,
"sourceAppId": "154",
"importType": "LINK",
"dataAppId": "154",
"dashboardOptions": {
"layouts": {
"null": {
"i": null,
"x": 0,
"y": 6,
"w": 6,
"h": 6,
"moved": false,
"static": false
}
}
}
}
]
接口示例2: 以拷贝方式导入数据包图表库中的图表
RequestResponse
http
POST /api/apps/10744/dashboards/1/charts/import HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
[
{
"id": 4,
"sourceAppId": "154",
"importType": "COPY",
"dataAppId": "154",
"dashboardOptions": {
"layouts": {
"null": {
"i": null,
"x": 0,
"y": 6,
"w": 6,
"h": 6,
"moved": false,
"static": false
}
}
}
}
]
断开图表链接
断开图表链接
请求URL
http
PUT /api/apps/{appId}/{dashboardId}/charts/{chartId}/break-link HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种图表的共同结构见ChartDto结构说明。 |
接口示例1: 对链接图表断开链接
http
PUT /api/apps/10744/dashboards/1/charts/3/break-link HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
返回: 图表的详细配置,参见 ChartDto结构说明。
获取指定id图表数据总行数
获取指定id图表数据总行数。
请求URL
http
GET /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId}/data/count HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
data.totalHits | INTEGER | 图表数据的总行数 |
在仪表盘内使用自定义图表配置获取图表数据
在仪表盘内使用自定义图表配置获取图表数据,衡石会校验指定图表是否在指定的仪表盘内。
请求URL
http
POST /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId}/data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
request body 参数
{"options":{ "options的详细信息"}}
返回对象的格式说明
接口示例1
RequestResponse
http
POST /api/apps/1/dashboards/1/charts/1/data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"options": {
"axes": [
{
"op": "group",
"uid": "u_edbee8adba68e26a_0",
"kind": "function",
"args": [
{
"kind": "field",
"op": "region_name",
"dataset": 3
}
]
},
{
"op": "sum",
"uid": "u_9f886f9cb7bdf1d2_1",
"kind": "function",
"args": [
{
"kind": "field",
"op": "region_id",
"dataset": 3
}
]
}
]
}
}
在仪表盘内使用自定义图表配置获取图表数据总行数
在仪表盘内使用自定义图表配置获取图表数据总行数。
请求URL
http
POST /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId}/data/count HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
request body 参数
{"options":{ "options的详细信息"}}
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
data.totalHits | INTEGER | 图表数据的总行数 |
在应用内使用自定义图表配置获取图表数据
在应用内使用自定义图表配置获取图表数据。
请求URL
http
POST /api/apps/{appId}/chart-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 执行数据查询的应用 Id |
offset | INTEGER | 数据量的偏移值 |
limit | INTEGER | 数据量的上限 |
request body 参数
{"options":{ "options的详细信息"},"datasetId":要查询的主表id"}
返回对象的格式说明
接口示例1: 创建图表
RequestResponse
http
POST /api/apps/1/chart-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"datasetId": 3366,
"options": {
"axes": [
{
"toScaleTime": false,
"op": "day",
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"fieldName": "real_date_3365",
"kind": "function",
"axisName": "group",
"label": "日期",
"keyChain": [
"day",
"none"
],
"args": [
{
"op": "real_date_3365",
"kind": "field",
"dataset": 3366
}
],
"formatter": {
"aggregate": "day"
},
"uid": "u_107f5bf77be04999_0",
"formatterOrigin": {
"aggregate": "day"
},
"datasetId": 3366,
"labelOrigin": "时间",
"fieldType": "date"
},
{
"op": "c3",
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": false,
"max": 1
},
"fieldName": "c3",
"kind": "field",
"axisName": "y1",
"keyChain": [
"none"
],
"formatter": {
"scientificNotation": false,
"unit": "",
"prefix": "",
"suffix": "",
"decimal": 2,
"thousands": false,
"percent": "%"
},
"uid": "u_409214f201c6ce01_4",
"newColumn": true,
"isConstant": false,
"formatterOrigin": {
"scientificNotation": false,
"unit": "",
"prefix": "",
"suffix": "",
"decimal": 2,
"thousands": false,
"percent": "%"
},
"datasetId": 3366,
"labelOrigin": "完成率",
"isAggregate": true,
"dataset": 3366,
"fieldType": "number"
},
{
"op": "c4",
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"fieldName": "c4",
"kind": "field",
"axisName": "y1",
"keyChain": [
"none"
],
"uid": "u_cbc569ab32ff31d1_4",
"newColumn": true,
"isConstant": false,
"datasetId": 3366,
"labelOrigin": "进入QA的问题",
"isAggregate": true,
"dataset": 3366,
"fieldType": "number"
},
{
"op": "c5",
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"fieldName": "c5",
"kind": "field",
"axisName": "y",
"keyChain": [
"none"
],
"uid": "u_c852341365aa3994_5",
"newColumn": true,
"isConstant": false,
"datasetId": 3366,
"labelOrigin": "未关闭问题",
"isAggregate": true,
"dataset": 3366,
"fieldType": "number"
},
{
"op": "c1",
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"fieldName": "c1",
"kind": "field",
"axisName": "y1",
"keyChain": [
"none"
],
"uid": "u_c8f6e35a15596acf_4",
"newColumn": true,
"isConstant": false,
"datasetId": 3366,
"labelOrigin": "当日关闭问题",
"isAggregate": true,
"dataset": 3366,
"fieldType": "number"
},
{
"op": "c0",
"scaleRange": {
"minAuto": true,
"min": 0,
"maxAuto": true,
"max": 0
},
"fieldName": "c0",
"kind": "field",
"axisName": "y",
"keyChain": [
"none"
],
"uid": "u_c3f773f19fcb0912_5",
"newColumn": true,
"isConstant": false,
"datasetId": 3366,
"labelOrigin": "累计关闭问题",
"isAggregate": true,
"dataset": 3366,
"fieldType": "number"
}
],
"name": "LineBar",
"limit": 10000,
"timebar": {
"args": [
{
"op": "real_date_3365",
"kind": "field",
"dataset": 3366
},
{
"op": "All Avaliable Date",
"kind": "constant"
}
],
"op": "time_in_range",
"field": "real_date_3365",
"dateRange": [
"2019-02-01 00:00:00",
"2019-04-03 20:23:56"
],
"kind": "function",
"show": true,
"datasetId": 3366,
"fields": [
[
3366,
"real_date_3365"
]
]
},
"sort": [
{
"op": "u_107f5bf77be04999_0",
"baseUid": "u_107f5bf77be04999_0",
"kind": "reference",
"datasetId": 3366,
"sortByValue": "dataSource",
"axisType": "Dimension",
"dataset": 3366,
"direction": "asc"
}
],
"version": 3100
}
}
通过ID获取图表SQL
通过ID获取图表SQL
请求URL
http
GET /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId}/sql-debug HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
vendorDesc | STRING | 指定的sql数据源描述,格式为<类型><大版本号><小版本号>_<商业版本号>,其中 类型 是必填的。比如:mysql_8_10_analyticdb |
接口示例1:
RequestResponse
http
GET /api/apps/15/dashboards/2/charts/1/sql-debug HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
接口示例2:
RequestResponse
http
GET /api/apps/15/dashboards/2/charts/1/sql-debug?vendorDesc=mysql HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
通过ID获取图表SQL执行计划
通过ID获取图表SQL执行计划
请求URL
http
GET /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId}/sql-explain HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
dashboardId | INTEGER | 图表所在的仪表盘 Id |
chartId | INTEGER | 图表的 Id |
接口示例1:
RequestResponse
http
GET /api/apps/15/dashboards/2/charts/1/sql-explain HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
通过图表自定义配置获取图表SQL
通过图表自定义配置获取图表SQL
请求URL
http
POST /api/apps/{appId}/sql-debug HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
vendorDesc | STRING | 指定的sql数据源描述,格式为<类型><大版本号><小版本号>_<商业版本号>,其中 类型 是必填的。比如:mysql_8_10_analyticdb |
RequestBody 参数
接口示例1:
RequestjsonResponse
http
POST /api/apps/15/sql-debug HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
请求:
通过图表自定义配置获取图表SQL执行计划
通过图表自定义配置获取图表SQL执行计划
请求URL
http
GET /api/apps/{appId}/sql-explain HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 说明 |
---|---|---|
appId | INTEGER | 图表所在的应用 Id |
RequestBody 参数
异步导出图表PNG/PDF
请求URL
http
POST /api/apps/{appId}/dashboards/{dashboardId}/charts/{chartId}/async-export HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | LONG | 否 | 图表所在的应用id |
dashboardId | LONG | 否 | 图表所在的仪表盘id |
chartId | LONG | 否 | 图表id |
type | STRING | 否 | 传png或者pdf |
timeout | INTEGER | 否 | 导出超时时间,timeout内完成,直解返回二进制流下载,timeout未完成或出现异常,返回json信息 |
width | INTEGER | 否 | 宽度 |
height | INTEGER | 否 | 单页的高度 |
totalHeight | INTEGER | 否 | 整个页面的总高度 |
request body 参数
DownloadDto
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
app | OBJECT | 否 | 全局过滤器 见应用结构 |
dashboard | OBJECT | 否 | 仪表盘过滤器 见仪表盘结构 |
返回对象的格式说明
如果导出任务没有完成,返回PENDING状态;若任务已完成,返回png/pdf格式文件流下载,文件名是图表的名称
接口示例1: 导出图表PDF
http
POST /api/apps/41589/dashboards/1/charts/2/async-export?type=pdf&width=1215&height=980&&timeout=170000 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"app": {
"id": 41589,
"options": {
"filters": []
}
},
"dashboard": {
"id": 1,
"options": {
"filters": []
}
}
}
接口示例2: 导出图表PNG
http
POST /api/apps/41589/dashboards/1/charts/2/async-export?type=png&width=1215&height=980&timeout=170000 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"app": {
"id": 41589,
"options": {
"filters": []
}
},
"dashboard": {
"id": 1,
"options": {
"filters": []
}
}
}