衡石科技产品手册--如何配置对接可视化图表

图表参考引用文档在此处:图表

图表说明

图表的定义

图表是由表达某个业务计算的数据绘制。

图表结构说明
Chart
字段类型描述
appIdLONG图表所属的应用 id
dataAppIdLONG图表用的数据集所属的应用 id
dashboardIdLONG图表所属的仪表盘 id
titleSTRING图表标题
datasetIdLONG图表所用的主表数据集 id
optionsOBJECT仪表盘配置信息
options.templateSTRING为葡萄城模板转成json字符串后的内容。
options.pageBOOL是否分页,仅对复杂表格生效,为false或者null表示不分页,为true表示分页
options.grapeCityInsertModeSTRING为葡萄城模板扩展模式,值为Cells或者EntireRowColumn。
options.axesHE 数组用于绘图的维度和度量计算方法
options.axes[i].dataAppIdINTEGER非HE部分,用于记录复杂报表相关的信息,轴用到的字段来自的数据集所属的app。
options.axes[i].cellPositionSTRING表示对应的单元格坐标,比如B2。
options.axes[i].cellContextXSTRING表示横向的上下文,比如A2。
options.axes[i].cellContextYSTRING表示纵向的上下文,比如B1。
options.axes[i].cellExpansionSTRING表示扩展方向,比如V表示纵向扩展,H表示横向扩展,N表示无。
options.axes[i].repeatOutputBOOL单元格分页跨页的时候,是否跨页都显示一遍
options.axes[i].keepTogetherSTRING分页时尽量不断开的范围,比如A1:B3
options.axes[i].keepTogetherToggleBOOL是否启用keepTogether
options.axes[i].attachToSTRING指定与某个单元格共同出现,内容为单元格表达式,比如A1
options.axes[i].attachToToggleBOOL是否启用attachTo
options.axes[i].repeatWithGroupSTRING在报表中生成与指定引用单元格重复的单元格,内容为单元格表达式,比如A1
options.axes[i].repeatWithGroupToggleBOOL是否启用repeatWithGroup
options.axes[i].imageToggleBOOL是否显示图片
options.axes[i].barcodeFunctionSTRING生成二维码的函数
options.axes[i].barcodeToggleBOOL是否生成二维码
options.otherCellInfosOBJECT 数组表示非轴的复杂表格中的一些特殊的cell的信息
options.otherCellInfos[i].cellPositionSTRING表示非计算字段单元格对应的单元格坐标,比如B2。
options.otherCellInfos[i].cellContextXSTRING表示非计算字段单元格横向的上下文,比如A2。
options.otherCellInfos[i].cellContextYSTRING表示非计算字段单元格纵向的上下文,比如B1。
options.otherCellInfos[i].cellExpansionSTRING表示非计算字段单元格扩展方向,比如V表示纵向扩展,H表示横向扩展,N表示无。
options.otherCellInfos[i].repeatOutputBOOL单元格分页跨页的时候,是否跨页都显示一遍
options.otherCellInfos[i].keepTogetherSTRING分页时尽量不断开的范围,比如A1:B3
options.otherCellInfos[i].keepTogetherToggleBOOL是否启用keepTogether
options.otherCellInfos[i].attachToSTRING指定与某个单元格共同出现,内容为单元格表达式,比如A1
options.otherCellInfos[i].attachToToggleBOOL是否启用attachTo
options.otherCellInfos[i].repeatWithGroupSTRING在报表中生成与指定引用单元格重复的单元格,内容为单元格表达式,比如A1
options.otherCellInfos[i].repeatWithGroupToggleBOOL是否启用repeatWithGroup
options.otherCellInfos[i].imageToggleBOOL是否显示图片
options.otherCellInfos[i].barcodeFunctionSTRING生成二维码的函数
options.otherCellInfos[i].barcodeToggleBOOL是否生成二维码
options.timebarHE时间轴过滤器
options.whereHE 数组图表的过滤条件,主要是用于原始字段的过滤
options.havingHE 数组图表的过滤条件,主要用户图内指标的过滤
options.sortHE 数组图表的排序条件
options.limitINTEGER数据的行数限制
options.offsetINTEGER数据的偏移量
options.refreshBOOL是否强制刷新。取图表数据时,true表示不会用缓存,false表示可以使用缓存
options.fieldsPolicyENUM取field的规则,详情见下表
options.publishConfigOBJECT图表在发布或者共享时的交互配置
hsVersionINTEGER可选,本次编辑的版本号,从0开始,修改前先GET待修改资源获取当前版本号,修改时带上刚刚获取的版本号,服务端会检查并发冲突。不带版本号不检查并发冲突。
datasetInfosOBJECT 数组专用于复杂表格类型的图表,用到的数据集列表
datasetInfos[i].appIdINTEGER复杂表格用到的数据集的对应的应用id
datasetInfos[i].datasetIdINTEGER复杂表格用到的数据集的id
datasetInfos[i].datasetTitleSTRING复杂表格用到的数据集的名字
datasetInfos[i].datasetIdsINTEGER 数组axes里面用到的数据集字段对应的主表或者从表信息,可用于前端对数据集打勾
datasetInfos[i].relativeDatasetsOBJECT 数组主表下面的所有从表信息
datasetInfos[i].relativeDatasets[i].datasetIdINTEGER从表id
datasetInfos[i].relativeDatasets[i].titleINTEGER从表title
sourceAppIdLONG链接图表的源图表所在应用的 id
sourceIdLONG链接图表的源图表 id
chartCommentSTRING图表的注释信息
ChartDto
字段类型描述
schemaOBJECT图表schema信息,参见数据集结构说明 options.schema
datasetNameSTRING图表用的数据集名称
isCollaboratedBOOLEAN是否协作
targetDashboardIdLONG仪表盘id
dashboardOptionsOBJECT仪表盘配置信息
importTypeSTRINGLINK 表示链接,COPY 表示复制
mapFieldByLabelBOOLEANtrue 表示切换数据集的时候用字段的 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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
request body 参数

每种图表的共同结构见ChartDto结构说明

返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见ChartDto结构说明

获取数据包中的图表库

获取数据包中的图表库

请求URL

http

GET /api/apps/{appId}/charts HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数
URL 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
orderBySTRING用来排序的字段
orderTypeSTRING排序的方向,可选值为 asc、desc
chartNamesSTRING要搜索的图表类型,多个用 , 分隔,比如 bar,table
excludeLinkChartBOOL是否包含链接图表
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
chartIdINTEGER图表的 Id
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
request body 参数

每种图表的共同结构见ChartDto结构说明。在有 axes 但是数据库中的图表没有 datasetId 的时候,request body 中的 chart.datasetId是必须的。

返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
chartIdINTEGER图表的 Id
request body 参数

每种图表的共同结构见ChartDto结构说明。在有 axes 但是数据库中的图表没有 datasetId 的时候,request body 中的 chart.datasetId是必须的。

返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
msgSTRING成功返回 success

删除图表库中的图表

删除图表库中的图表

请求URL

http

DELETE /api/apps/{appId}/charts/{chartId} HTTP/1.1

请求参数
URL 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
chartIdINTEGER图表的 Id
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
msgSTRING成功返回 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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
request body 参数

每种图表的共同结构见ChartDto结构说明。在有 axes 但是数据库中的图表没有 datasetId 的时候,request body 中的 chart.datasetId是必须的。

返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
返回对象的格式说明
字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT每种图表的共同结构见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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
返回对象的格式说明
字段类型说明
data.totalHitsINTEGER图表数据的总行数

在仪表盘内使用自定义图表配置获取图表数据

在仪表盘内使用自定义图表配置获取图表数据,衡石会校验指定图表是否在指定的仪表盘内。

请求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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
request body 参数

{"options":{ "options的详细信息"}}

返回对象的格式说明

数据集数据 datasetResultDto

接口示例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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
request body 参数

{"options":{ "options的详细信息"}}

返回对象的格式说明
字段类型说明
data.totalHitsINTEGER图表数据的总行数

在应用内使用自定义图表配置获取图表数据

在应用内使用自定义图表配置获取图表数据。

请求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 参数
字段类型说明
appIdINTEGER执行数据查询的应用 Id
offsetINTEGER数据量的偏移值
limitINTEGER数据量的上限
request body 参数

{"options":{ "options的详细信息"},"datasetId":要查询的主表id"}

返回对象的格式说明

数据集数据 datasetResultDto

接口示例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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 Id
vendorDescSTRING指定的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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
dashboardIdINTEGER图表所在的仪表盘 Id
chartIdINTEGER图表的 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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
vendorDescSTRING指定的sql数据源描述,格式为<类型><大版本号><小版本号>_<商业版本号>,其中 类型 是必填的。比如:mysql_8_10_analyticdb
RequestBody 参数

图表数据 chart

接口示例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 参数
字段类型说明
appIdINTEGER图表所在的应用 Id
RequestBody 参数

图表数据 chart

异步导出图表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 参数
字段类型是否必须说明
appIdLONG图表所在的应用id
dashboardIdLONG图表所在的仪表盘id
chartIdLONG图表id
typeSTRING传png或者pdf
timeoutINTEGER导出超时时间,timeout内完成,直解返回二进制流下载,timeout未完成或出现异常,返回json信息
widthINTEGER宽度
heightINTEGER单页的高度
totalHeightINTEGER整个页面的总高度
request body 参数

DownloadDto

字段类型是否必须说明
appOBJECT全局过滤器 见应用结构
dashboardOBJECT仪表盘过滤器 见仪表盘结构
返回对象的格式说明

如果导出任务没有完成,返回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": []
      }
   }
}
  • 37
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值