跳转至

数据集概述

1 数据集介绍

【数据集】为下一步数据分析或报表制作进行相关的数据准备;

点击【数据准备】,进入【数据源】管理功能模块,该页面包括数据连接的新增(序号 1)、搜索(序号 2)、编辑(序号 3)、复制(序号 4)、删除(序号 5)等功能。

请注意:社区版最多支持单数据集返回 10 万条数据。

数据集概览

支持对已创建的数据集进行复制、移动、重命名和删除。

数据集概览

数据集数据支持导出。

更新1

数据集编辑界面支持下拉框搜索。

更新1

2 新建数据集

如下图所示,点击序号位置【添加数据集】,跳转到添加数据集页面。

新建数据集

在新建数据集页面,勾选添加数据集对应的数据源,将左侧数据库数据表(可利用搜索功能进行快速筛选)后拖拽到右侧数据集编辑区。

新建数据库数据集

在新建数据集页面,勾选添加数据集对应的数据源,将左侧数据库数据表(可利用搜索功能进行快速筛选)后拖拽到右侧数据集编辑区。

新建数据库数据集

支持获取数据源数据表以及数据集字段的描述信息

更新1 更新1

如下图所示,点击【保存】,设置对应名称以及保存文件夹位置,点击【确认】即成功添加数据集。

保存数据库数据集

数据库数据集保存成功

3 编写 SQL 查询

在新建数据集页面,勾选添加数据集对应的数据源,将左侧【自定义 SQL 】拖拽到右侧数据集编辑区,进入到 SQL 编辑界面。

选择SQL数据集

SQL编辑界面

【序号1】位置选择数据库;
【序号2】位置为 SQL 语句输入区,在此区域输入正确的 SQL 语句;
【序号3】点击可展示预览数据;
注意:单源数据集写 SQL 时使用对应数据库的 JDBC 语法。

SQL语句编写

SQL查询运行

SQL 片段支持注释

更新1

如下图所示,点击【保存】,SQL 查询添加成功。

保存SQL数据集

SQL数据集预览

4 SQL 语句动态传参设置

SQL 数据集支持参数传递,如下图所示。

  • 在 SQL 数据集中编写带变量的 SQL 语句,变量定义格式为 ${xxx},其中 xxx 为变量名;
  • 在右上角【参数设置】里对变量进行相关设置,如变量类型、生效模式、默认值(非必填),此处变量为系统根据 SQL 语句自动识别的,例如 province 会被自动带出来;
  • 在仪表板的过滤组件中(文本下拉和数字下拉组件)勾选【参数选项】,并将下拉字段与 SQL 数据集中的变量关联,如下示例以 MySQL 数据库 SQL 语法为例,不同数据库请根据实际情况调整。

SQL填写参数

编写带变量的 SQL 语句后,系统默认将参数类型设置为文本,根据需要可在右上角【参数设置】里对变量进行相关设置,示例如:
若该变量为时间类型,请手动调整该参数类型的时间类型及时间格式。

SQL参数变量类型

参数设置里面,参数值下拉列表中可以选择“仅编辑时生效”或“数据集预览时全局生效”。
区别:仅编辑时生效在SQL数据集编辑界面有效,数据集预览时全局生效在数据集预览界面有效 。

SQL参数生效模式

在仪表板过滤组件绑定 SQL 传参:

更新1

SQL 数据集带参数传递,根据过滤组件的不同,SQL 语法用法上有差异。

情况一:过滤组件为单选时,要用 = :

SELECT ORDER_ID, ORDER_DATE, PROJ_ID, ORDER_EMP FROM ORDERS WHERE ORDER_EMP = '${USER_NAME}'
情况二:过滤组件为多选时,要用 IN (用 IN 可单选也可多选,但相反地用 = 只能单选),注意变量外需要用括号包起来:
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})
情况四:结合两个时间过滤组件进行日期范围(时间字段需为 13 位时间戳)传参,使用 BETWEEN 或者用 <、 > :
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 加密处理。

SQL传参安全

5 设置数据表间关联关系

在新建数据集页面,勾选添加数据集对应数据源,将左侧要关联的数据表拖拽到右侧数据集编辑区。

拖拽关联表

将关联的数据表拖拽到编辑区后,可编辑关联关系:

  • 序号 1 :设置连接方式;
  • 序号 2 :添加关联字段;
  • 序号 3 :选择输出字段。

创建关联关系

创建数据集时,同一个数据表可被多次引用。

更新1