文章目录
day01-FineReport基础
一、介绍
官网 :https://help.fanruan.com/finereport/doc-view-1162.html
报表是以表格、图表的形式来动态展示数据,企业通过报表进行数据分析,进而用于辅助经营管理决策。
FineReport 是一款用于报表制作,分析和展示的工具,用户通过使用 FineReport 可以轻松的构建出灵活的数据分析和报表系统,大大缩短项目周期,减少实施成本,最终解决企业信息孤岛的问题,使数据真正产生其应用价值。
类型 | FineBI | FineReport |
---|---|---|
数据引擎 | 提供 实时数据 与抽取数据两种方式的 Spider 计算引擎,用户可以根据数据量、实时性要求、使用频次等自由选择 | 直连数据库,性能方面需要数据库的支撑 |
支持范围 | 提供自助式的 OLAP 多维数据分析模式 | 支持灵活定制各种中国式复杂报表 |
面向对象 | 主要面向业务人员 ,由业务人员自主设计仪表板进行分析 | 主要面向信息人员 ,由信息人员完成业务部分的需求,完成的报表由底层员工和领导使用。可以用来出固定格式的周报、月报、适合作为正式汇报材料 |
使用目的 | 关注长期的战略决策,更着重于商业趋势和业务单元的联系而非具体的数据和精确度本身 | 着重于短期的运作支持 |
二、安装配置
下载地址 https://www.finereport.com/product/download
调整分辨率
三、入门使用
开发人员使用设计器设计报表样式
3-1 主体界面
在使用report进行报表设计时,需要先导入数据
先使用自带数据
3-2 新建报表
报表分类
普通报表 常用
聚合报表
FVS可视化看板(和BI一样)
3-3 添加数据集
数据集分类
模板数据集:只能在当前报表模板中使用
服务器数据集:可以在所有报表模块中使用
3-4 数据绑定
将字段数据拖拽到单元格
3-5 单元格样式调整
3-6 保存并预览
第一次使用预览时需要设置账号密码
四、数据连接
4-1 驱动添加
如果连接的数据没有对应的驱动需要先下载对应驱动,然后重启
在安装目录下的webapps\webroot\WEB-INF\lib中
4-2 配置数据库连接
启动本地windos的mysql服务
使用Datagrip连接本地mysql服务
create database if not exists itcast charset=utf8;
create table itcast.tb_user(
id int,
name varchar(20),
age int,
gender varchar(20)
);
insert into itcast.tb_user values
(1,'张三',20,'男'),
(2,'李四',22,'男'),
(3,'王五',21,'男'),
(4,'赵六',18,'男');
配置数据连接
第二种方式是在管理平台上设置,和原来BI中的操作一样
4-3 数据库查询
FineReport是对数据集中的数据进行操作,需要先通过sql查询数据库,将数据保存在数据集中
数据集主要分为 模版数据集和服务器数据集
数据库的查询方式 表查询、视图查询、模糊查询
以模版数据集为例进行演示
五、普通报表案例
普通报表
保存的文件类型为 cpt,依靠着单元格的扩展与父子格的关系来实现模板效果,可进行参数查询,填报报表,图表设计等等,但是在分页预览模式下不能在报表主体中展示控件,而且单元格间相互影响,很难保持独立性。
控制面板:下拉框可以选择地区,点击查询按钮后,只查询出该地区对应的表格和柱形图数据。
表格:表格统计该地区下各销售员每种产品的总销量。
柱形图:柱形图将该地区下各销售员每种产品的总销量以图表的形式进行展示。
普通报表开发流程
5-1 创建数据连接
当前使用FineReport的内置数据库 SQLlite
数据库已经配置好,该步骤可跳过
5-2 创建普通报表
5-3 设置报表模版
模版可以理解为显示的图表页面
5-4 创建数据集
使用模版数据集
数据集1
数据集2
5-5 报表设计
I-样式设计
标题指定:合并 A1~D2 单元格,写入报表标题「地区销售概况」,设置标题为 15号字体,字体加粗并居中。
表头设计: 需要设计三个内容 产品,销售员,地区
在一个单元格中用斜线分隔显示三个标题字段信息合并A3、B3 单元格,右击合并后的单元格,点击「单元格元素>插入斜线」。在弹出文本编辑框写入标题字段信息:产品|销售员|地区,此处使用的符号均为英文模式下的符号,同时可以通过添加空格来调整文字的位置。
增加边框
选中从A1~D5单元格,点击工具栏中的按钮,在系统弹出的边框设置对话框中,同时添加内部和外部边框
增加总计和销售总量
II-数据绑定
将数据集中的数据列拖入到对应单元格中。选中地区字段后按住鼠标左键不放,拖动到单元格中,其他字段同理设置
C5 单元格用于计算每个产品各自的总销量,所以要对 C4 单元格求和,选中 C5 单元格,点击上方快捷按钮中的插入公式,在弹出的公式编辑框中输入公式 SUM(C4)
、
选中 C3 单元格,让产品字段的数据在表格中横向扩展,默认为纵向扩展,右边属性面板选择「单元格属性>扩展>基本>扩展方向>横向」
选中C4单元格,由于 A4、B4、C3 单元格的扩展已经确定了唯一的销量值,故 C4 单元格无需扩展,扩展方向为不扩展。C5和D5单元格也都要设置扩展方向为不扩展
选中 A1~D5 单元格,点击上方的居中按钮,将表格中的字体「居中」显示
当报表中存在不同数据集的数据时,需要通过添加数据过滤条件,建立起不同数据集之间的联系。
我们制作的这张报表的数据来源于两个不同的数据集 ds1 和 ds2,「销售员」字段是这两个数据集共有的字段,我们使用这个字段建立起他们之间的联系。
选中并双击 D4 单元格,弹出数据列对话框,选择过滤。给单元格增加一个普通条件,将 ds2 的销售员字段与 ds1 的销售员字段进行绑定,实现两个数据集之间的关联
III-图表设计
图表的作用在于可以更加直观地表现数据,提升用户的报表查看体验。我们在这张报表中插入柱形图来直观化展示每个销售员每种产品的销售总量。
合并A7~D18单元格选择菜单栏「插入>单元格元素>插入图表
弹出图表类型选择对话框,这里:选择「柱形图>柱形图」,点击确定
去掉柱形图的标题。选中图表,在右边属性面板选择「单元格元素>样式>标题」,不勾选标题可见。
选中图表,在右边属性面板选择「单元格元素>数据」,设置柱形图的数据
数据来源:单元格数据分类名: =B4系列名: =C3值: =C4注:分类名、系列名、值在设置的时候必须要有等号,否则单元格会被作为字符串处理。
① 柱形图展示的是所有销售员的产品销量统计信息,所以不需要对图表所在的单元格进行扩展。
② 选择图表,在右边属性面板选择「单元格属性>扩展>基本」,扩展方向设置为不扩展,左父格和上父格均设置为无。
用户可以自定义柱形图中系列的柱形颜
选中柱形图,点击属性面板「单元格元素>特效>条件显示>添加条件」,双击条件修改条件名为「系列1柱形紫色」,点击「条件编辑」按钮,在弹出的条件编辑对话框中,点击「+」按钮,新增配色属性,下拉框选择紫色,设置普通条件系列序号等于1,点击「增加」按钮。即实现系列一柱形颜色的改变
父子格介绍
https://help.fanruan.com/finereport/doc-view-141.html
名词 | 解释 |
---|---|
父子格 | 单元格中的数据列在进行扩展的过程中存在相互关联的关系。单元格进行扩展的过程中,在无父格的情况下,相对于其右(下)边的单元格而言,扩展格是主动复制的,被称为其他格(其右/下的格)的父格,而其右(下)的单元格是被动跟随复制的,被称为扩展格的子格。父格和子格是相对的概念,即某格是另一格的父格或子格,不存在单独的父格或子格。 从父格的定义中看,显然只有扩展格才能是其他格的父格。 |
左父格 | 单元格进行纵向扩展时,我们称其为其右边格子的左主格。 |
上父格 | 单元格进行横向扩展时,我们又称其为其下边格子的上主格。 |
IV-参数设计
参数的作用在于通过设置参数,可以在参数面板中给参数添加控件,再将控件与报表数据进行绑定,进而实现根据用户输入的参数查询指定的数据。
菜单栏选择「模板>模板参数」,打开模板参数设置对话框
模板参数对话框点击「增加」按钮,新建一个模板参数,双击该参数将它重命名为「地区」,设置默认值为「华东」。点击「确定」完成模板参数的定义
点击参数面板的编辑按钮
右上角控件设置面板会显示没有添加控件的参数,点击地区或者点击全部添加,将参数的默认控件添加到参数面板
选择控件类型
选中下拉框控件,在右边的控件设置面板选择「属性」,点击数据字典「编辑」按钮,类型设置为「数据库表」,数据库为「FRDemo」,选择数据库表为「销量」,列名的实际值和显示值为「地区」。
设置好控件后还不能实现根据下拉框中的参数查询指定地区的表格和柱形图信息,需要给表格设置数据过滤条件,当用户下拉选择地区参数点击查询时,表格和柱形图只显示该地区的数据。
双击 A4 单元格,在弹出的数据列对话框中选择「过滤」,添加一个普通条件,让地区等于参数 $地区 ,点击「增加」按钮,点击「确定」。即将地区单元格与参数绑定起来,当下拉框选择地区参数查询时只显示该地区下的表格和图表信息
5-6 报表部署
点击管理系统,创建FRDemo目录,将报表放在此目录下。点击添加模版,部署报表
选择创建的报表路径,点击下一步,然后确定即可。
查看
普通用户使用