1. 概述编辑
1.1 版本
FineBI 版本 | 功能变动 |
---|---|
6.0 | - |
1.2 应用场景
用户可以通过简单的 SQL 语句对数据库中的表处理后再添加到「公共数据」中。
1.3 功能简介
FineBI 中的 SQL 语句不能创建新的数据表,也不能修改表结构,仅支持将已有数据库中的表通过 SQL 语句取数至 BI 。
SQL 语句的语法规则需要和连接的数据库适配。
2. 操作步骤编辑
进入「公共数据」,选择一个有管理权限的文件夹(可参见:公共数据管理权限)。点击「新建数据集>数据库表」,如下图所示:
2.1 创建无参数的 SQL 数据集
选择需要使用的数据连接后,就可以输入 SQL 语句取数。点击「预览」查看是否取数正确,最后点击「确定」添加表。如下图所示:
SQL 示例语句:select * from new_salesdetail
注:添加 SQL 数据集时,输入的 SQL 语句中不能带分号,否则若在字段设置处修改了字段类型,会导致数据集更新失败。
2.2 创建有参数的 SQL 数据集
操作步骤见下图:
①② 给表命名,并选择创建 SQL数据集 需要的数据连接;
③ 输入带参数的 SQL 数据,例如本示例:select * from new_salesdetail where 销售日期 in ('${日期参数}');
④⑤⑥ 点击「刷新」,并设置参数对应的「参数类型」和「默认值」;
文本和数值类型参数默认值:默认为“1”,需要手输修改,否则预览时没有数据。
日期类型参数默认值:可选择具体的「年/月/日」或「动态时间」,比如说希望参数值一直为当前日期,就可以使用动态时间。
⑦⑧ 预览数据确认正确后,点击「确定」将该 SQL 数据集添加进公共数据;
注1:参数的详细命名规则可参见 参数命名规则
注2:参数默认值可以设置为空,配合 if 函数或<parameter>实现参数为空时选择所有值的效果,详情可参见 参数为空选择所有值(直连) 。SQL 数据集支持添加参数后传递使用,详情使用介绍请参见 URL参数的传递使用(直连) 。
2.3 更新 SQL 数据集
直连属性的 SQL 数据集添加后可直接使用,抽取属性的则需要更新后使用。如下图所示:
2.5 修改 SQL
SQL 数据集在添加完成后,用户可从下图两个入口修改 SQL 语句以及参数设置。
3. 支持调用存储过程的数据库编辑
3.1 存储过程简介
「存储过程」就是存储在数据库中的一组 SQL 语句集。FineBI 在添加 SQL 数据集时,支持调用数据库中的存储过程,从而获得执行了存储过程 SQL 语句集后的表。
什么样的数据库能调用存储过程:可以使用 JDBC 方式连接,并可以通过 JDBC 执行 SQL 语句调用存储过程的数据库。
用户可以使用自检工具,按照 数据库连接失败排查步骤 2.2 节执行,在要查询的 SQL 语句后输入调用存储过程的语句,如果执行成功,即表明可以在 FineBI 调用存储过程。
注:存储过程仅对抽取数据有效,不支持直连数据库使用存储过程。
3.2 调用示例
下面以 SQL Server 调用存储过程作为示例。每种数据库的调用语句不同,其他类型数据库的需要使用对应数据库自身的调用语句。
在语句框中输入execute+存储过程名,点击「确定」即可保存该数据集。
若存储过程中有参数,调用方式如下:
使用参数默认值:直接输入 execute+存储过程名 调用,例如 execute StuCouIN
不使用默认值,传入参数值:execute+存储过程名 '参数值' ,例如 execute StuCouIN '7001'
4. 注意事项编辑
4.1 新增字段后数据预览界面不显示
若修改 SQL 数据集的 SQL 语句,增加「合同付款类型」字段,点击「确定」,如下图所示:
修改 SQL 数据集后,数据表不会直接将添加的字段更新进来,需要点击基础表的「编辑」按钮。手动勾选新增的字段,如下图所示: