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,每次检索两条数据,叠加展示。 两个表格通过同一个参数动态控制检索内容。

衡石分析平台使用手册