前言:
💞💞大家好,我是书生♡,今天主要和大家分享一下,BI报表中的FineRoport 的详细使用,以及它的优势!!!希望对大家有所帮助。
💞💞代码是你的画笔,创新是你的画布,用它们绘出属于你的精彩世界,不断挑战,无限可能!
个人主页⭐: 书生♡
gitee主页🙋♂:闲客
专栏主页💞:大数据开发
博客领域💥:大数据开发,java编程,前端,算法,Python
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬
目录
- 1. FineReport介绍
- 1.1 FineReport的概述
- 1.2 功能概述
- 1.3 特点
- 1.4 BI的基本概念
- 1.5 FineReport与FineBI区别
- 1.6 FineReport安装
- 2. FineReport入门使用
- 2. 1基础报表设计流程
- 2.2 数据准备--连接mysql
- 2.3 查看模版数据集、服务器数据集
- 3. FineReport 基础使用
- 3.1 表查询
- 4. 使用FineReport制作普通报表
- 4.1 表格设计
- 4.2 柱状图设计
- 4.3 表单
- 4.4 结果展示
- 5. 部署
1. FineReport介绍
1.1 FineReport的概述
FineReport报表软件是一款纯Java编写的,集数据展示(报表)和数据录入(表单)功能于一身的企业级Web报表工具,它专业、简捷、灵活的特点和无码理念,仅需简单的拖拽操作便可以设计复杂的中国式报表,搭建数据决策分析系统。
FineReport旨在帮助用户轻松构建灵活的数据分析和报表系统,通过表格、图表等形式动态展示数据,辅助企业进行数据分析和管理决策。它大大缩短了项目周期,降低了实施成本,有效解决了企业信息孤岛问题,使数据真正产生其应用价值。
FineReport报表系统主要由以下两部分构成:
- 报表设计器:用于进行表格、图形、参数、控件、填报、打印、导出等报表中各种功能的设计。它是一个集“报表应用开发”、“调试”、“部署”于一体的平台,用户可以通过简单的拖拽操作完成复杂的报表设计。
- 报表服务器:指用在web环境中解析报表的Servlet形式的服务器。用户通过浏览器与报表服务器进行交互,服务器负责解析并展现报表内容。
1.2 功能概述
- 多样的报表模式:FineReport支持多种报表模式,包括普通报表模式、聚合报表模式、决策报表、大屏展示、Word报告等,满足不同企业的多样化需求。
- 强大的数据处理能力:支持通过多种连接方式连接不同数据源,支持大数据量填报和智能数据提交控制设置,提供全方位的数据校验功能。
- 丰富的图表类型:拥有自主研发的HTML5图表,同时支持接入Echarts等第三方控件,满足数据报表的可视化开发需求。图表类型丰富,交互功能强大,具有良好的视觉体验。
- 完善的数据决策系统:可对报表、用户、系统配置进行统一管理,包括用户管理、目录管理、权限管理、系统管理、智能运维、安全管理等功能。
- 灵活的部署和集成:支持各类项目的部署和集成,包括服务器部署、Web集群配置、Web页面集成、单点登录等功能。同时,提供丰富的API接口和插件开发支持,满足用户的个性化需求。
1.3 特点
- 功能全面且专业:支持关系型数据库、BI多维数据库的连接取数,支持中国式复杂报表的处理,支持离线填报、多级上报、数据填报,有着安全、完善的权限控制方案等。
- 设计报表简单高效:学习成本低类Excel的界面使用户不需任何额外学习成本,零编码开发报表,轻松的拖拽数据,一
两分钟内就能完成报表制作。 - 跨平台兼容性:支持各种操作系统和主流Web应用服务器,具有良好的跨平台兼容性。产品稳定性高,可靠性强。
1.4 BI的基本概念
BI(BusinessIntelligence)即商业智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快
速准确的提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
通俗的说 : 商业智能是一整套方案,就是充分利用企业在日常经营过程中生产的大量数据,并将它们转化为信息和知识来免除
企业中的瞎猜行为和无知状态,让每一个决定、管理细节、战略规划都有数据参考。
1.5 FineReport与FineBI区别
使用场景
- FineReport:适用于需要快速生成各类统计报表和数据分析系统的企业,特别是那些需要中国式复杂报表的企事业单位。通过FineReport,用户可以轻松地实现数据的多维度展示和深入分析,同时支持报表的自动化生成和分发。
- FineBI:适用于需要构建自助式数据分析平台的企业,特别是那些希望业务人员能够直接参与数据分析过程,自主设计报表并辅助业务决策的场景。FineBI提供了丰富的数据可视化效果和自助式数据分析功能,让业务人员能够轻松地进行数据探索和洞察。
1.6 FineReport安装
FineReport的官方下载网址:https://www.finereport.com/
注意:注册之后会有一个2激活码一定要保存好,在我们下载好之后需要通过激活码进行激活
安装好之后就是下面这个样子:
调整分辨率:在桌面上右击“设计器图标”,选择「属性>兼容性>更改所有用户的设置>更改高 DPI 设置」,勾选「替代高DPI缩放行为」,下拉框选择「系统」 。
2. FineReport入门使用
2. 1基础报表设计流程
- 创建报表
- 添加数据集
数据集分为:模板数据集和服务器数据集
- 模板数据集:只能在当前报表模板中使用
- 服务器数据集:可以在所有报表模块中使用
模版数据集:这个数据集只在此模版中生效可以使用
服务器数据集:数据可以在所有的模版中使用
- 向模版中添加数据
将数据集的字段拖拽到相应的表格中。
4. 调整报表的格式
我们可以设置:调整单元格大小,边框设置,对齐方式设置等等。
5. 保存并预览报表
我们修改完报表要先进行保存,然后预览
6. 结果如下
2.2 数据准备–连接mysql
上述的数据是FineReport自带的数据,如果我们想要展示我们本地的数据库的数据或者是服务器中数据库的数据,我们就需要先链接对应的数据库。
- 点击上方的服务器,选择‘定义数据连接’
- 选择左上角的‘+’,点击JDBC
- 选择对用的数据库,填写ip,端口号,库名,用户名,密码
最后添加mysql的数据,我们点击“数据库查询”
注意:.若是10.0.15及之后的版本,则跳过此步骤。
因为该数据连接使用FineReport自带的驱动包mysql-connector-java-5.1.49-bin.jar,不需要单独下载驱动包。
10.0.15及之前的版本需要下载驱动,将下载好的驱动包拷贝到D:\FineReport_11.0\webapps\webroot\WEB-INF\lib
2.3 查看模版数据集、服务器数据集
- 服务器数据集:点击上方的服务器,点击服务器数据集,就可以看见我们的所有的服务器数据集
- 模版数据集:点击上方的模版,点击模版数据集,就可以看见我们的所有的模版数据集
3. FineReport 基础使用
3.1 表查询
- 点击左边窗口的的【+】按钮,选择【数据库查询】,然后给数据库查询命名,选择所需的数据连接。
- 将左边的表拖拽到右边选择select
- 选中查询编辑器,在其中输入SQL语句【selectfromproductwherepid= a r e a 】。这是一个带参数的 S Q L 查询,【 {area}】。这是一个带参数的SQL查询,【 area】。这是一个带参数的SQL查询,【{}】为参数的形式。点击【预览】,跳出提示框,输入参数【area=华东】,结果可以在预览组中看,实际就是执行【selectfromproductwhere area=华东】的SQL 查询。如下图所示:
输入:华东
注意:=
在以${}为参数的时候,如果是整数类型,直接写,如果是字符串类型的需要加上‘’,即 ‘ ${} ’
注意1:FineReport数据库查询只支持一条自然SQL语句的查询,不支持多个自然SQL语句
注意2:create、drop等新建表、删除表不在官方支持范围内,官方只支持select
注意3:可以将数据连接中的表直接拖动到查询编辑器中
4. 使用FineReport制作普通报表
目标:制作如图的报表
这个分为三个部分:表单,表格,报表
4.1 表格设计
- 新建普通报表,将页面大小改为合适的大小
点击模版中的页面大小,选择合适的大小
- 数据连接
通过对这个图的观察,数据分为两部分。一个是原始的销量数据,一个是每一个销售员的总和。
因此我们可以涉及两个数据集,一个是原始的,一个是通过对销售员分组聚合的结果数据集。
- 表格设计
我们先按照需求将所有的数据都拖拽到表格中,然后在将每一个单元格进行设置
-
C5单元格用于计算每个产品各自的总销量,所以要对C4单元格求和,选中C5单元格,点击上方快捷按钮中的插入公式,在弹出的公式编辑框中输入公式SUM(C4)
-
D5单元格用于计算总销量,所以要对D4单元格求和,选中C5单元格,点击上方快捷按钮中的插入公式,在弹出的公式编辑框中输入公式SUM(D4)
-
选中C3单元格,让产品字段的数据在表格中横向扩展,默认为纵向扩展,右边属性面板选择「单元格属性>扩展>基本>扩展方向>横向」。
-
选中C4单元格,由于A4、B4、C3单元格的扩展已经确定了唯一的销量值,故C4单元格无需扩展,扩展方向为不扩展。
C5和D5单元格也都要设置扩展方向为不扩展。 -
地区是纵向显示的,因此设置为纵向
-
因为销售员要和地区相对应,因此他的左父格应该是地区(A4)
-
销量跟销售员和产品有关,每个销售员和产品的销量不一样,因此需要关联,即左父格为(B4),上父格为(C3)
-
以为综合销量,统计的是每一个销售员的总量,因此要和销售员对应上,因此左父格为(B4)
当报表中存在不同数据集的数据时,需要通过添加数据过滤条件,建立起不同数据集之间的联系。
我们制作的这张报表的数据来源于两个不同的数据集ds1和ds2,「销售员」字段是这两个数据集共有的字段,我们使用这个字段建立起他们之间的联系。
选中并双击D4单元格,弹出数据列对话框,选择过滤。给单元格增加一个普通条件,将ds2的销售员字段与ds1的销售员字段进行绑定,实现两个数据集之间的关联。
- 结果如图所示
4.2 柱状图设计
-
先合并下方合并单元格再点击柱状图,选择想要的插入
-
柱形图是对表格中地区销售概况数据的图形化展示,所以无需再次设置标题,我们在图表样式中去掉柱形图的标题。选中图表,在右边属性面板选择「单元格元素>样式>标题」,不勾选标题可见。
-
如何将图与表格关联在一起呢,我们需要通过数据的设置关联
数据来源:单元格数据,分类名:=B4,系列名:=C3,值:=C4
注:分类名、系列名、值在设置的时候必须要有等号,否则单元格会被作为字符串处理。
选择图表,在右边属性面板选择「单元格属性>扩展>基本」,扩展方向设置为不扩展,左父格和上父格均设置为无。
- 用户可以自定义柱形图中系列的柱形颜色,下面我们将系列一的柱形颜色从蓝色修改为紫色。选中柱形图,点击属性面板「单元格元素>特效>条件显示>添加条件」,双击条件修改条件名为「系列1柱形紫色」,点击「条件编辑」按钮,在弹出的条件编辑对话框中,点击「+」按钮,新增配色属性,下拉框选择紫色,设置普通条件系列序号等于1,点击「增加」按钮。即实现系列一柱形颜色的改变。
4.3 表单
参数的作用在于通过设置参数,可以在参数面板中给参数添加控件,再将控件与报表数据进行绑定,进而实现根据用户输入的参数查询指定的数据。菜单栏选择「模板>模板参数」,打开模板参数设置对话框。
模板参数对话框点击「增加」按钮,新建一个模板参数,双击该参数将它重命名为「地区」,设置默认值为「华东」。点击「确定」完成模板参数的定义
-
模板参数
点击参数面板的编辑按钮,进入参数面板设置界面。
-
右上角控件设置面板会显示没有添加控件的参数,点击地区或者点击全部添加,将参数的默认控件添加到参数面板。
-
选中下拉框控件,在右边的控件设置面板选择「属性」,点击数据字典「编辑」按钮,类型设置为「数据库表」,数据库为「FRDemo」,选择数据库表为「销量」,列名的实际值和显示值为「地区」
设置好控件后还不能实现根据下拉框中的参数查询指定地区的表格和柱形图信息,需要给表格设置数据过滤条件,当用户下拉选择地区参数点击查询时,表格和柱形图只显示该地区的数据。
双击A4单元格,在弹出的数据列对话框中选择「过滤」,添加一个普通条件,让地区等于参数$地区,点击「增加」按钮,点击「确定」。即将地区单元格与参数绑定起来,当下拉框选择地区参数查询时只显示该地区下的表格和图表信息。
这个我们选择对应的地区会筛选出对应的数据,当我们不选择时,会返回全部数据
4.4 结果展示
5. 部署
- 点击服务器,选择报表平台管理,进入到数据决策系统,进行报表部署。
- 点击管理系统,点击目录管理,添加目录,创建FRDemo目录,将报表放在此目录下。点击添加模版,部署报表
报表展示