反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

添加SQL数据集

  • 文档创建者:Roxy
  • 历史版本:29
  • 最近更新:Carly 于 2023-02-02
  • 1. 概述

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

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

    1.1 版本

    FineBI 版本
    JAR 包
    5.12020-01-15

    1.2 应用场景

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

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

    1.3 适用人群

    数据处理用户

    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 数据的请求。用户需要使用对应数据库适配的 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. 支持调用存储过程的数据库

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

    注2:Oracle数据库没有查询可用的语句,所以在FineBI中,该数据库不支持存储过程。

    3.1 存储过程简介

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

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

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

    3.2 调用示例

    每种数据库的调用语句不同,针对不同类型的数据库使用对应的存储过程调用语句即可

    3.2.1 MySQL 数据库调用存储过程

    在 SQL 语句框中输入call + 存储过程名(),点击「预览」查看调用结果,点击「确定」即可保存该数据集。

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

    • 使用参数默认值:直接输入call+存储过程名() 调用,例如 call test1()

    • 不使用默认值,传入参数值:call+存储过程名('参数值1','参数值2') ,例如 call test('a','100')

    3.2.2 SQL Server 数据库调用存储过程

    在 SQL 语句框中输入execute+存储过程名,点击「预览」查看调用结果,点击「确定」即可保存该数据集。

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

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

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

    19.png

    4. 注意事项

    4.1 添加数据库视图

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

    3.png

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

    附件列表


    主题: 连接到数据
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭