数据集概述
1 数据集介绍¶
【数据集】为下一步数据分析或报表制作进行相关的数据准备;
点击【数据准备】,进入【数据源】管理功能模块,该页面包括数据连接的新增(序号 1)、搜索(序号 2)、编辑(序号 3)、复制(序号 4)、删除(序号 5)等功能。
请注意:社区版最多支持单数据集返回 10 万条数据。
支持对已创建的数据集进行复制、移动、重命名和删除。
数据集数据支持导出。
数据集编辑界面支持下拉框搜索。
2 新建数据集¶
如下图所示,点击序号位置【添加数据集】,跳转到添加数据集页面。
在新建数据集页面,勾选添加数据集对应的数据源,将左侧数据库数据表(可利用搜索功能进行快速筛选)后拖拽到右侧数据集编辑区。
在新建数据集页面,勾选添加数据集对应的数据源,将左侧数据库数据表(可利用搜索功能进行快速筛选)后拖拽到右侧数据集编辑区。
支持获取数据源数据表以及数据集字段的描述信息
如下图所示,点击【保存】,设置对应名称以及保存文件夹位置,点击【确认】即成功添加数据集。
3 编写 SQL 查询¶
在新建数据集页面,勾选添加数据集对应的数据源,将左侧【自定义 SQL 】拖拽到右侧数据集编辑区,进入到 SQL 编辑界面。
【序号1】位置选择数据库;
【序号2】位置为 SQL 语句输入区,在此区域输入正确的 SQL 语句;
【序号3】点击可展示预览数据;
注意:单源数据集写 SQL 时使用对应数据库的 JDBC 语法。
SQL 片段支持注释
如下图所示,点击【保存】,SQL 查询添加成功。
4 SQL 语句动态传参设置¶
SQL 数据集支持参数传递,如下图所示。
- 在 SQL 数据集中编写带变量的 SQL 语句,变量定义格式为 ${xxx},其中 xxx 为变量名;
- 在右上角【参数设置】里对变量进行相关设置,如变量类型、生效模式、默认值(非必填),此处变量为系统根据 SQL 语句自动识别的,例如 province 会被自动带出来;
- 在仪表板的过滤组件中(文本下拉和数字下拉组件)勾选【参数选项】,并将下拉字段与 SQL 数据集中的变量关联,如下示例以 MySQL 数据库 SQL 语法为例,不同数据库请根据实际情况调整。
编写带变量的 SQL 语句后,系统默认将参数类型设置为文本,根据需要可在右上角【参数设置】里对变量进行相关设置,示例如:
若该变量为时间类型,请手动调整该参数类型的时间类型及时间格式。
参数设置里面,参数值下拉列表中可以选择“仅编辑时生效”或“数据集预览时全局生效”。
区别:仅编辑时生效在SQL数据集编辑界面有效,数据集预览时全局生效在数据集预览界面有效 。
在仪表板过滤组件绑定 SQL 传参:
SQL 数据集带参数传递,根据过滤组件的不同,SQL 语法用法上有差异。
情况一:过滤组件为单选时,要用 = :
SELECT ORDER_ID, ORDER_DATE, PROJ_ID, ORDER_EMP FROM ORDERS WHERE ORDER_EMP = '${USER_NAME}'
SELECT ORDER_ID, ORDER_DATE, PROJ_ID, ORDER_EMP FROM ORDERS WHERE ORDER_EMP IN ${USER_NAME}
SELECT ORDER_ID, ORDER_DATE, PROJ_ID, ORDER_EMP FROM ORDERS WHERE (ORDER_EMP IN ${USER_NAME} AND PROJ_ID IN ${USER_PROJ_ID})
SELECT * FROM SALES WHERE 记录时间 BETWEEN '${BEGINTIME}' AND '${ENDTIME}';
SELECT * FROM SALES WHERE 记录时间 > '${BEGINTIME}' AND 记录时间 < '${ENDTIME}'
时间范围传参使用两个时查询条件间,分别绑定【开始时间】和【结束时间】参数,设置展示类型为时间。
SQL 动态参数与过滤组件的区别:
- SQL 动态参数可以提升查询效率,自定义的 SQL 相较于过滤组件通过程序拼接出来的查询语句查询效率会更高效;
- SQL 动态参数可以满足一些过滤组件无法满足的场景,比如需要在 SQL 中对参数值做特殊处理后才能用于 where 过滤条件的情况。
SQL 数据集支持参数传递,且 SQL 数据集参数化支持子查询,系统会对 SQL 数据集在查询时的 SQL 进行 Base64 加密处理。
5 设置数据表间关联关系¶
在新建数据集页面,勾选添加数据集对应数据源,将左侧要关联的数据表拖拽到右侧数据集编辑区。
将关联的数据表拖拽到编辑区后,可编辑关联关系:
- 序号 1 :设置连接方式;
- 序号 2 :添加关联字段;
- 序号 3 :选择输出字段。
创建数据集时,同一个数据表可被多次引用。