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

目录:

1. 概述编辑

视频学习请点击:添加基础数据表 

SQL 数据集属于基础表,基础表概念请参见:基础表

1.1 版本

FineBI 版本
JAR 包
5.12020-01-15

1.2 应用场景

用户需要将 SQL 数据集添加进数据决策系统并进行后续的数据分析和仪表板展示。

1.3 功能简介

FineBI 支持添加四种类型的数据表,本文介绍添加 SQL 数据集的操作步骤。

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

1.4 适用人群

数据处理用户

2. 操作步骤编辑

2.1 进入业务包

登录 FineBI ,在数据准备节点下选择一个业务包,如下图所示:

1582707703947464.png

2.2 进入 SQL 编辑界面 

1)在业务包配置页面,点击添加表,选择 SQL 数据集。如下图所示:

1575450664834603.png

2)进入 SQL 数据集编辑页面进行 SQL 语句、数据表名等的编辑。如下图所示:

3.png

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

注2:添加成功的 SQL 数据集若不选择开启 实时数据  ,需要进行 数据更新 才能使用,如创建自助数据集、创建组件等。 

2.3 创建普通 SQL 数据集

1)选择数据来源的数据连接为 BI Demo,输入 SQL 语句:select * from DEMO_CONTRACT,在输入 SQL 语句的时候 FineBI 支持 SQL 语句关键词提示。点击右侧的预览按钮,即可出现获取到的「DEMO_CONTRACT」数据表,修改表名为合同表,如下图所示:

21.png

注:此时点击预览,会向数据库发送全部 SQL 数据的请求。

2)数据表配置完成后点击「确定」,业务包中即出现刚刚添加的 SQL 数据集。抽取状态下需要点击「更新数据」,然后在数据预览中预览,如下图所示:

46.png

注:数据准备界面的数据预览则默认显示 5000 行结果,此条数仅仅是在保存后预览界面的显示数据量,在制作仪表板后使用全部数据。

注:被 BI 识别成日期类型的字段都会自动补全「年月日时分秒」,展示成 yyyy-MM-dd HH:mm:ss (示例:2020-10-15 00:00:00 )

2.4 创建带参数的 SQL 数据集

2.4.1 创建文本类型参数的 SQL 数据集

1)选择数据来源的数据连接为BI Demo ,输入带参数的 SQL 语句:select * from new_dian where 店性质 in ('${店性质}'),在参数设置栏中点击刷新按钮获取参数,获取的参数默认值默认为 1 ,如下图所示:

4.png

2)可将参数默认值修改为「自有店」,并点击预览数据,如下图所示:

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

1575462232822184.png

注:所有获取的参数初始的参数类型均为文本,默认值均为 1,需要手动修改。

2.4.2 创建日期类型参数的 SQL 数据集

1)若参数类型为日期参数,也可通过修改默认值来取需要的数据。如下图所示:

1575510627128151.png

2)同时可以通过日期面板设置为动态默认值,初始默认值为当前日期

比如设置参数的动态默认值为 10 天前,在参数类型选择日期后,单击默认值的日期面板,选择动态时间,并设置为相对当前时间的 10 天前,如下图所示:

37.png

则该「今天」参数名在使用时的默认值即为当前时间的 10 天前。

注:该日期类参数设置动态默认值的功能,需 2019-01-15 之后的 FineBI5.1 版本支持。

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

2.5 修改 SQL 数据集

SQL 数据集在添加完成后,点击基础表编辑界面的右上角修改 SQL 按钮,点击可进行 SQL 语句的修改。如下图所示:

52.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 添加数据库视图

有时用户需要在 BI 中添加数据库视图,可以通过添加 SQL 数据集的方式实现。例如 MySQL 数据库中存在视图,可创建 SQL 数据集取数到 BI ,如下图所示:

3.png

也可进入管理系统>数据连接>数据连接管理,重新连接数据库并保存,即可通过 添加数据库表 添加视图。