1. 概述
1.1 版本
报表服务器版本 | 插件版本 |
---|---|
11.0 | V2.14 |
注:JDK 版本:JDK 1.8 且小版本需在 JDK8u102 以上。
1.2 应用场景
FineReport 提供了简单方便的连接各方数据的能力,要求客户有基础的 SQL 使用知识,通常的使用场景是客户从其他地方获取测试有效的 SQL 语句粘贴到 FineReport ,比较麻烦。该插件提供了简化 SQL 输入,无缝对接 SQL 可视化编辑工具的能力。
1.3 功能介绍
支持语法提示、自动补全(支持字段名)和代码美化。
优化在 SQL 中加入帆软公式支持。
支持可视化的 SQL Builder。(只支持 mysql mssql oracle 等常用数据库)。
可视化生成参数过滤语句。
1.4 方案对比
对比项 | 当前方案 | 新方案 | ||||
---|---|---|---|---|---|---|
方案简介 | 本文方法,通过安装「高级数据库查询」插件实现 | 本文不做介绍 在 FineDataLink 中进行数据处理,一些可视化算子,例如数据关联、行转列、列转行、新增计算列,可帮您简化 SQL 语句 | ||||
界面对比 |
| SQL 编辑器界面更加美观
| ||||
其他 | 该方案中,在 FineReport 中使用复杂 SQL 获得目标数据,可能会导致报表开发成本高、维护成本高、取数慢的问题 | 可使用 FineDataLink 可视化方式完成 数据加工 并进行业务注释,FR 报表数据集只需要保留 select * from table 的方式获取结果指标数据,进而缩短 FR 数据集查询时间,提升报表展示速度 |
2. 插件介绍
2.1 插件安装
点击下载插件:高级数据库查询
设计器插件安装方法参照 设计器插件管理
服务器安装插件方法参照 服务器插件管理
2.2 操作方法
在插件商店安装「高级数据库查询」后,新建「数据库查询」类型的数据集,数据库查询界面会默认替换为高级数据库查询。
在菜单栏「服务器 -> 高级数据库」中取消勾选 「使用高级sql编辑器直接替代fr自带编辑器」 则可还原为FR默认的编辑器。
2.2.1 定义数据连接按钮
可直接点击点击下图的第一步骤按钮,进行添加「定义数据连接」。如下图所示:
2.2.2 查看数据连接下的数据表
①为数据源,②为数据连接刷新按钮,③数据连接下的数据表。
2.2.3 自动补全介绍
点击①所在的按钮,会跳出自动补全设置
其中③设置自动补全快捷键
④,⑤添加高亮函数名和高亮关键字
⑥,⑦可自定义添加自动补全函数名,自动补全关键字。
②为是否开启自动补全
2.2.4 可视化 SQL 编辑器
点击①可进入可视化编辑器,如下图:
②为数据表,双击数据表可将此数据表的字段添加到⑤中。
点击⑤中的勾选,可选用此字段进行查询。
点击⑥可对⑤所选的字段进行重新命名,汇总,以及排序等。
③为设计界面,可直接点击进行选择操作。
④为语法选择界面,可写 SQL 语句进行操作,以及查看③操作过后的 SQL语句 。
2.2.5 参数注入
先书写参数语句如①,然后再点击②刷新显示注入的参数。可在③查看参数是否添加成功,以及参数添加默认值。
可视化插入参数注入
通过在②输入[列名],[参数名]并选择[控件类型]和是否[参数为空选择全部]来生成参数注入语句,生成规则如下(会当前语句末尾是否有where或and来判断是否生成and)
单选场景:
简单参数筛选 列名='${参数名}'
参数为空选择全部 ${if(len(参数名) == 0,"","and 列名 = '" + area + "'")}
多选场景:
简单参数筛选 列名 in ('${replace(参数名,",","','")}')
参数为空选择全部 ${if(len(参数名) == 0,"","and 列名 in ('" + replace(参数名,",","','") + "')")}
参数注入工具栏②默认显示,可以通过点击①来显示或隐藏
2.2.6 插入函数
点击①,进入②,使用 FR 的公式进行计算,点击确定后会将公式计算结果返回给你数据集直接使用,如③。
2.2.7 其他按钮介绍
①为SQL美化,②为使用分页 SQL 编辑,③为查看执行SQL,④为 SQL 预览按钮,⑤为高级数据库查询最大化。
报表美化点击后 SQL 如下图:
2.2.8 权限管理说明
权限管理用来配置在远程设计器环境中,哪些人能够看到哪些链接,哪些数据库表,以便于进行报表设计。
管理员配置权限:
插件的安装,远程设计器,用户本地设计器均需要安装本插件
以管理员的身份连接远程设计器
先到设计器的 服务器--远程设计权限管理 菜单中配置哪些人能够连接到远程设计器
然后到 服务器-高级数据库查询 菜单中给这些能连接远程设计器的人配置他们能看到哪些数据连接,哪些数据连接中的表
左边会将有连接远程设计器权限的人列出来,右边是所有的数据连接以及连接下的数据表
左边选中某人,右边选择他能看到的数据连接,数据表也可以多选用户,点击批量设置来批量授权
配置好之后,用户以自己的身份连接远程设计器。他在做报表设计时,数据集选择数据库查询,界面中只能看到上面勾选的链接跟表
3. 预览效果
3.1 自动补全
3.2 参数注入和插入函数
4. 注意事项
4.1 操作问题
1)双击表名会显示字段名然后自动补全中可以使用字段名。
2)当自动补全不出现的时候按下 ctrl + space。
3)远程设计时,超管需要给非超管开通权限才能使用。详情请参见:给用户分配远程设计权限示例