定义数据集

点击主页左侧导航菜单的【数据集】菜单项,打开数据集管理页面,点击【添加】按钮,即可添加数据集。
目前支持的数据集类型包括: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-ddHH:mm:ssyyyy-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: ... }, 当名、值相同时,则可简写为选项值,示例: "..."3true
多选时:是
单选时:否
日期
可选,日期格式配置:
{ 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: ... }, 当名、值相同时,则可简写为选项值,示例: "..."3true
复选框
复选框选项名/值配置:
[ 待选项名值对象, ... ]
待选项名值对象格式为:{ name: "...", value: ... }, 当名、值相同时,则可简写为选项值,示例: "..."3true
文本域
详细日期格式参考chart.resultDataFormat()函数中的日期格式符号说明。

分享数据集

在数据集管理页面,选中一条记录后,点击【分享】按钮,可以将数据集分享给指定用户/角色。 如果数据集加入了项目,将会继承项目的分享设置。
企业版增强了分享功能,可以详细设置数据集的只读、编辑、删除分享权限,以支持多用户协同操作。
企业版自1.1.0版本起,支持将数据集分享给指定组织机构。
 
京ICP备18055183号-1
© 2018-2024 datagear.tech 北京溪歌科技有限公司
登录