历史版本33 :添加SQL数据集 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本
功能变动
6.0-

1.2 应用场景

用户可以通过简单的 SQL 语句对数据库中的表处理后再添加到「公共数据」中。

1.3 功能简介

FineBI 中的 SQL 语句不能创建新的数据表,也不能修改表结构,仅支持将已有数据库中的表通过 SQL 语句取数至 BI 。

SQL 语句的语法规则需要和连接的数据库适配。

2. 操作步骤编辑

进入「公共数据」,选择一个有管理权限的文件夹(可参见:公共数据管理权限)。点击「新建数据集>数据库表」,如下图所示:

2022-06-24_15-55-00.png 

2.1 创建无参数的 SQL 数据集

选择需要使用的数据连接后,就可以输入 SQL 语句取数。点击「预览」查看是否取数正确,最后点击「确定」添加表。如下图所示:

SQL 示例语句:select * from new_salesdetail

注:添加 SQL 数据集时,输入的 SQL 语句中不能带分号,否则若在字段设置处修改了字段类型,会导致数据集更新失败。

42.png

2.2 创建有参数的 SQL 数据集

操作步骤见下图:

①② 给表命名,并选择创建 SQL数据集 需要的数据连接;

③ 输入带参数的 SQL 数据,例如本示例:select * from new_salesdetail where 销售日期 in ('${日期参数}')

④⑤⑥ 点击「刷新」,并设置参数对应的「参数类型」和「默认值」;

  • 文本和数值类型参数默认值:默认为“1”,需要手输修改,否则预览时没有数据。

  • 日期类型参数默认值:可选择具体的「年/月/日」或「动态时间」,比如说希望参数值一直为当前日期,就可以使用动态时间。

⑦⑧ 预览数据确认正确后,点击「确定」将该 SQL 数据集添加进公共数据;

注1:参数的详细命名规则可参见 参数命名规则

注2:参数默认值可以设置为空,配合 if 函数或<parameter>实现参数为空时选择所有值的效果,详情可参见 参数为空选择所有值(直连) 。SQL 数据集支持添加参数后传递使用,详情使用介绍请参见 URL参数的传递使用(直连) 。

45.png

2.3 更新 SQL 数据集

直连属性的 SQL 数据集添加后可直接使用,抽取属性的则需要更新后使用。如下图所示:

47.png

2.5 修改 SQL 

SQL 数据集在添加完成后,用户可从下图两个入口修改 SQL 语句以及参数设置。

48.png

3. 支持调用存储过程的数据库编辑

3.1 存储过程简介

「存储过程」就是存储在数据库中的一组 SQL 语句集。FineBI 在添加 SQL 数据集时,支持调用数据库中的存储过程,从而获得执行了存储过程 SQL 语句集后的表。

什么样的数据库能调用存储过程:可以使用 JDBC 方式连接,并可以通过 JDBC 执行 SQL 语句调用存储过程的数据库。

用户可以使用自检工具,按照 数据库连接失败排查步骤 2.2 节执行,在要查询的 SQL 语句后输入调用存储过程的语句,如果执行成功,即表明可以在 FineBI 调用存储过程。

注:存储过程仅对抽取数据有效,不支持直连数据库使用存储过程。

3.2 调用示例

下面以 SQL Server 调用存储过程作为示例。每种数据库的调用语句不同,其他类型数据库的需要使用对应数据库自身的调用语句

在语句框中输入execute+存储过程名,点击「确定」即可保存该数据集。

19.png

若存储过程中有参数,调用方式如下:

  • 使用参数默认值:直接输入 execute+存储过程名  调用,例如 execute StuCouIN 

  • 不使用默认值,传入参数值:execute+存储过程名 '参数值' ,例如 execute StuCouIN '7001'

4. 注意事项编辑

4.1 新增字段后数据预览界面不显示

若修改 SQL 数据集的 SQL 语句,增加「合同付款类型」字段,点击「确定」,如下图所示:

修改 SQL 数据集后,数据表不会直接将添加的字段更新进来,需要点击基础表的「编辑」按钮。手动勾选新增的字段,如下图所示: