Skip to content

SQL 查询数据集

SQL 查询数据集是指通过自定义 SQL 语句定义数据集条件来获取数据的一种数据集。

创建数据集

请参照如下步骤创建 SQL 查询数据集。

  1. 在数据集界面,点击新建数据集,选择 SQL 查询数据集。

  2. 在数据连接中选择创建数据集使用的数据连接。

    提示

    如果没有找到期望的数据连接,需要联系数据管理员将所需的数据连接进行授权后使用。

  3. 在编辑区内编写 SQL 代码,定义数据集条件。 点击执行查看效果,确认没问题后点击下一步。

    提示

    每次 SQL 语句修改,都需要点击执行,执行成功后,才能继续下一步。

  4. 进入数据结构页面,可以设置字段别名和类型。

    支持设置开启加速引擎,开启后该数据集导入加速引擎中。

  5. 点击导入后,设置数据集名称,完成数据集创建。

动态宏

SQL 查询数据集支持动态宏,可以动态的定义数据集创建条件,数据集的内容随动态宏变化而变化。

动态宏定义方式

动态宏以{{!!开始,以}}结束,中间代码为 SQL 类型,如图所示。

提示

  1. 动态宏中的代码必须返回 String 或者数字类型的值,并且只能有一个字段且只有一个值,否则抛出异常。
  2. SQL 数据集的处理顺序是先进行参数和用户属性替换,再进行动态宏的解析执行。

动态宏使用示例

动态宏是把传进来的宏值当成表达式进行计算,然后再把计算得到值做为宏值进行传入。 这种方式可以用在无法进行表达式计算的 SQL 函数中。

如 MySQL 数据源中的 limit 函数无法进行表达式计算,对于每次检索两条数据 select * from table1 limit n*2,2 的需求 limit 无法实现,这种情况下可以使用动态宏来实现。

在创建数据集时,通过参数表达式动态改变检索的起始位置,每次检索出两条数据。

效果展示如图所示,左侧表格通过动态宏实现limit n*2,2 ,每次检索两条数据。右侧表格通过动态宏实现 limit 0,2*n,每次检索两条数据,叠加展示。 两个表格通过同一个参数动态控制检索内容。

衡石分析平台使用手册