emm这就是官方的文档,有部分加上了自己的学习感受和小小的经验。
[财务][数据化分析][帆软]报表设计-设计思路
1. 描述
使用 FineReport 设计器设计模板,首先需要了解 FineReport 模板制作的思路,沿着其思路来了解 FineReport 报表中的所有功能。
FineReport 报表制作流程如下图:
1)新建数据连接:在制作模板之前首先要确保设计者知道存储数据的数据库类型、数据库地址、访问数据库的用户名密码,然后在 FineReport 设计器中新建一个数据连接,建立数据库与设计器的交互桥梁;
2)新建模板与数据集:数据连接创建好之后,就需要进行模板的添加了,数据连接是用于整个工程的,并没有实质的将数据从数据库中取出来,故还需要在特定模板中新建数据集,通过数据连接从数据库中取数;
3)模板设计:数据准备完成之后,就是进行模板的设计了,模板设计是 FineReport 学习过程中的重中之重,我们将模板设计分为报表设计、参数设计、图表设计和填报设计四个部分,这四个部分是 FineReport 模板的几大使用方式,报表设计是纯粹的数据展示,参数设计是动态查询数据,图表设计是使用图表来展示数据,填报设计是录入数据,将数据写入数据库中,根据实际情况确定使用哪一种使用方式,或者联合使用哪几种使用方式;
4)模板预览:模板设计完成之后,保存模板至工程目录下面,即可预览,在 Web 端查看模板效果。
2. 索引
序号 | 内容 | 简介 | 文档教程 | |
---|---|---|---|---|
1 | 数据连接 | 建立数据库与设计器的交互桥梁 | 数据连接 | |
1.1 | JDBC 连接数据库 | 以连接 Oracle 数据库为例,介绍 JDBC 方式连接数据库的操作步骤 | JDBC 连接数据库 | |
1.2 | JNDI 连接数据库 | 通过 JNDI 方式定义数据连接 | JNDI 连接数据库 | |
1.3 | XMLA 数据连接 | 通过 XMLA 数据连接的方式来与多维数据库进行连接 | XMLA 数据连接 | |
1.4 | SAP 数据连接 | FineReport 将 SAP 数据连接功能做成一个插件,新增 SAP 数据连接类型,添加 SAP 数据集类型 | SAP 数据连接 | |
2 | 数据集 | 数据集是指从数据库中将数据取出来,可直接应用于模板设计的数据展现集合 | 数据集 | |
2.1 | 数据库查询 | 对数据源中的数据库表,直接使用 SQL 语句,来选择所需要的数据字段 | 数据库查询 | |
2.2 | 内置数据集 | 新建一个类似数据库表的原表,可作为模板的数据源来设计报表 | 内置数据集 | |
2.3 | 文件数据集 | 是指以 TXT 文本文件、Excel 文件和 XML 文件中的数据为数据集,并以二维表的结构展示在数据集当中 | 文件数据集 | |
2.3.1 | 文本数据集:就是指数据源是一系列的 TXT 文本文件 | 文本数据集 | ||
2.3.2 | Excel 数据集:就是指数据源是一系列的 XLS 文件 | Excel 数据集 | ||
2.3.3 | 远程 Excel 数据集:通过 URL 方式访问 JSP 页面,将对应的 Excel 文件作为数据集 | 远程 Excel 数据集 | ||
2.3.4 | XML 数据集:就是指数据源是一系列的 XML 文件 | XML 数据集 | ||
2.4 | SAP 数据集 | 先建立一个 SAP 数据连接,通过该数据连接建立 SAP 数据集 | SAP 数据集 | |
2.4.1 | 自定义取数:就是直接调用 ABAP Function 获取数据 | 自定义取数 | ||
2.4.2 | 简单通用查询取数:通过 open SQL 语句,从某张表中读取出某些列,并列出数据需要满足的一些条件 | 简单通用查询取数 | ||
2.4.3 | 通用查询取数:通用查询较之简单通用查询,增加了表间关联的能力,支持多表查询 | 通用查询取数 | ||
2.4.4 | 通用查询取数中的函数:对 EXTRACT_TABLE_DATA 的创建过程及出现的问题解决进行详细说明 | 通用查询取数中的函数 | ||
2.5 | 存储过程 | 存储过程,就是直接将存储过程作为数据集,不需要在数据库查询而是去调用存储过程 | 存储过程 | |
2.5.1 | Oracle分页存储过程的实现:以 Oracle 数据库中的 SCOT T用户的 EMP 表为例,编写一个分页存储过程 | Oracle分页存储过程的实现 | ||
程序包中存储过程的调用:通过 用户名.包名.存储过程 或者 包名.存储过程 方式去调用 | 程序包中存储过程的调用 | |||
调用非当前用户下的存储过程:通过用户名.存储过程的方式去调用 | 调用非当前用户下的存储过程 | |||
优化调用Oracle存储过程 | 优化调用 Oracle 存储过程 | |||
2.5.2 | SqlServer2005分页存储过程的实现 | SqlServer2005分页存储过程的实现 | ||
调用SqlServer存储过程报没有返回数据集错误 | 调用SqlServer存储过程报没有返回数据集错误 | |||
2.5.3 | 调用存储过程:直接用存储过程数据集进行调用 | 调用存储过程 | ||
2.6 | 多维数据库 | 在XMLA 数据连接的基础上,新建多维数据库 XMLA 数据集 | 多维数据库 | |
2.6.1 | 简单通用查询:指 FineReport 通过 XMLA 连接上多维数据库之后,直接展示多维 CUBE 结构 | 简单通用查询 | ||
2.6.2 | 自定义 MDX 查询:指用户直接在 MDX 语句输入框中输入 MDX 查询语句,FineReport 再通过该语句去多维数据库取数 | 自定义MDX查询 | ||
2.7 | 关联数据集 | 在不同的数据源进行筛选取数;访问不同的数据库;利用来自不同的数据源形成一个数据集 | 关联数据集 | |
2.8 | 树数据集 | 为控件绑定树数据集, Web 端查看时就会自动生成树形层级结构 | 树数据集 | |
3 | 模板设计类型 | FineReport 模板设计主要包括普通模板设计、决策报表设计和聚合报表设计三种模板设计类型 | 模板设计类型 | |
3.1 | 普通报表设计 | 普通报表设计分为报表设计、参数设计、图表设计和填报设计四个部分 | 普通报表设计 | |
3.2 | 决策报表设计模式 | 通过决策报表来实现移动端的自适应,组件间的联动 | 决策报表设计模式 | |
3.3 | 聚合报表设计 | 聚合报表指一个报表中包含多个模块,每一块都类似一张单独的报表或者一张图表,块与块之间相对独立,互不影响 | 聚合报表设计 | |
4 | 模板预览 | FineReport 有多种预览模式:分页预览、填报预览、新填报预览、数据分析、移动端预览~ | 模板预览 | |
4.1 | 分页预览 | FineReport 的默认预览方式,一般在只需要查看报表数据用于分析的时候使用 | 分页预览 | |
4.2 | 填报预览 | 是指在 Web 端预览用来填报数据的模板,一般在只需要录入修改数据的时候使用 | 填报预览(op=write) | |
4.3 | 数据分析 | 数据分析模式也可以查看报表,但是其可以对报表结果进行不分页预览及在线分析:排序、二次过滤等 | 数据分析(op=view) | |
4.4 | 新填报预览 | 新填报预览,采用了新样式的控件,加载速度快,采用了分页加载 | 新填报预览(op=write_plus) | |
4.5 | 移动端预览 | 通过扫码直接在手机上展现报表,让用户直观地看到当前设计模板的实际效果 | 移动端预览(op=mobile) | |
4.6 | 决策报表预览 | 决策报表预览是针对于决策报表设计模式而言的 | 决策报表预览 |