定义数据集
点击主页左侧导航菜单的【数据集】菜单项,打开数据集管理页面,点击【添加】按钮,即可添加数据集。
目前支持的数据集类型包括:SQL、CSV、CSV文件、Excel、HTTP、JSON、JSON文件。
对于CSV文件、Excel、JSON文件数据集,除了上传文件外,也可选择使用服务器端文件源,且只能在管理员授权允许的目录内选择。
以管理员身份登录后,点击右上角设置按钮中的【数据分析 - 文件源】菜单,添加一个服务端文件源,然后将其分享给指定用户,
目标用户即可新建此文件源内文件的数据集。
企业版HTTP数据集支持请求域名管理功能,可以统一管理具有相同域名的HTTP数据集,
在HTTP数据集编辑页面点击【请求域名】右侧的按钮可打开域名管理页面。
企业版自
企业版自
企业版自
企业版自
1.1.0版本起,新增了MQTT、WebSocket实时数据集功能,新增了Redis、MongoDB数据集功能。
企业版自
1.2.0版本起,对于CSV文件、Excel、JSON文件数据集,可以选择用户自己新建文件源内的文件。
企业版自
1.5.0版本起,SQL数据集新增了INSERT/UPDATE/DELETE等SQL语句支持,新增了多SQL语句支持,
可支持更丰富的SQL数据集应用场景。
易变模型
易变模型数据集的数据结构是不固定的,返回数据不受数据集字段限定,预览时也不会自动生成数据集字段(仍可手动添加),通常用于需要灵活读取数据的自定义图表。
数据集字段
数据集字段描述数据集的数据结构,在后续定义图表时,即是通过为数据集字段绑定数据标记,来实现将数据映射至图表的。
对于非易变模型数据集,数据集字段还会限定数据集的数据结构,数据集返回数据对象中仅会包含数据集字段列表中定义的字段值。
数据集字段可以设置默认值,当数据集中对应字段值为
null时,将被替换为默认值;
也可以调整顺序,在图表展示时,靠前的数据集字段通常渲染为靠前的图表系列。
数据集字段通常无需用户定义,在执行【预览】操作后,系统会自动解析和生成它们。
当【预览】自动解析的数据集字段类型与预期不符时,也可以自定义字段类型。
比如,对于CSV数据集的
2021-06-01值,默认将被自动解析为字符串类型,可将其修改为日期类型。
对于日期类型,默认将按照
yyyy-MM-dd、HH:mm:ss、yyyy-MM-dd HH:mm:ss的格式解析,
点击【字段】栏右侧的【数据格式】按钮,可以自定义格式。
比如,对于2021年06月01日的值,当对应字段修改为日期类型时,应自定义日期格式为:
yyyy年MM月dd日。
详细日期格式参考chart.resultDataFormat()函数中的日期格式符号说明。
参数化数据集
在数据集添加/编辑页面下面的【参数】栏中,可以定义数据集参数,添加了参数的数据集称为参数化数据集。
在参数化数据集中,可以填写与参数关联的参数化语句,
当关联了参数化数据集的图表展示时,用户可以填写相应参数值,从而展示用户需求数据的图表。
数据集参数类型可以设置为:
字符串、整数、数值、布尔值、对象类型。
对于对象类型,参数值内容应是{ ... }或者[ ..., ... ]JSON格式。
例如,对于如下已定义的参数:
名称 类型 必填 value 数值 是
SQL数据集的SQL查询语句可以为:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE VALUE = ${value}
如果
value是字符串类型,那么上述SQL应为:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE VALUE = '${value}'
SQL数据集还支持更安全的预编译语法,可以避免SQL注入问题,详细参考SQL预编译参数语法章节。
CSV数据集的CSV文本可以为:
name, value
aa, ${value}
bb, 14
CSV文件(服务器端)数据集的目录内文件名可以为:
file-${value}.csv
Excel(服务器端)数据集的目录内文件名可以为:
file-${value}.xlsx
HTTP接口数据集的请求地址可以为:
http://aaa.com/api?param=${value}
HTTP接口数据集的请求体JSON可以为:
[
{ name: "param", value: ${value} }
]
HTTP接口数据集的请求头JSON可以为:
[
{ name: "header0", value: ${value} }
]
JSON数据集的JSON文本可以为:
[
{ name: "aa", value: ${value} },
{ name: "bb", value: 14 }
]
JSON文件(服务器端)数据集的目录内文件名可以为:
file-${value}.json
如果数据集参数的【必填】项设为
否,那么在使用前需进行是否已填条件判断,例如:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE
<#if value??>
VALUE = ${value}
<#else>
VALUE IS NULL
</#if>
或者,可以使用更简单的${参数名!默认值}语法,例如:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE VALUE = ${value!"NULL"}
在value参数未填时,将生成如下SQL:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE VALUE = NULL对于:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE VALUE = ${value!0}
在value参数未填时,将生成如下SQL:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE VALUE = 0对于:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE NAME = '${name!"default"}'
在name参数未填时,将生成如下SQL:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE NAME = 'default'
如果数据集参数值是数组或集合(比如当输入框类型是多选下拉框、复选框时),取元素值时需使用遍历语法,例如:
SELECT NAME, VALUE FROM T_ANALYSIS WHERE
<#if value??>
VALUE IN ( <#list value as v> ${v} <#sep>,</#sep></#list> )
<#else>
VALUE IS NULL
</#if>
详细的参数化语法参考参数化语法章节。
内置参数
除了上述【参数】栏中定义的参数外,系统还内置了一些系统级参数,比如:
DG_USER(当前用户)、DG_DATE(当前日期),
这些内置参数无需定义,可以直接在数据集参数化语法中使用,详细参考内置参数章节。
参数输入框类型
在定义数据集参数时,可选设置参数输入框类型,当图表展示时,数据集参数设置面板将被绘制为指定类型的输入框。
系统目前支持的输入框类型为:文本框、下拉框、日期、时间、日期时间、单选框、复选框、文本域,详细设置如下表所示:
| 输入框类型 | 输入框配置格式 | 参数值是否为集合 |
|---|---|---|
|
文本框
|
无
|
否
|
|
下拉框
|
单选下拉框选项名/值配置:
[
多选下拉框选项名/值配置:
{ multiple: true, options: [
待选项名值对象格式为: { name: "...", value: ... },
当名、值相同时,则可简写为选项值,示例:
"..."、3、true。
|
多选时:是
单选时:否 |
|
日期
|
可选,日期格式配置:
{ format: "..." }
默认为:
{ format: "yyyy-MM-dd" }
日期值将会是如
"2026-03-16"的字符串。
|
否
|
|
时间
|
可选,时间格式配置:
{ format: "..." }
默认为:
{ format: "HH:mm:ss" }
时间值将会是如
"09:20:30"的字符串。
|
否
|
|
日期时间
|
可选,日期时间格式配置:
{ format: "..." }
默认为:
{ format: "yyyy-MM-dd HH:mm:ss" }
日期时间值将会是如
"2026-03-16 09:20:30"的字符串。
|
否
|
|
单选框
|
单选框选项名/值配置:
[
待选项名值对象格式为:
{ name: "...", value: ... },
当名、值相同时,则可简写为选项值,示例:
"..."、3、true
|
否
|
|
复选框
|
复选框选项名/值配置:
[
待选项名值对象格式为:
{ name: "...", value: ... },
当名、值相同时,则可简写为选项值,示例:
"..."、3、true。
|
是
|
|
文本域
|
无
|
否
|
详细日期格式参考chart.resultDataFormat()函数中的日期格式符号说明。
分享数据集
在数据集管理页面,选中一条记录后,点击【分享】按钮,可以将数据集分享给指定用户/角色。
如果数据集加入了项目,将会继承项目的分享设置。