1. 概述
在企业中 FineReport 的日常使用者大致可分为三类:IT人员、报表制作者、业务人员。
报表制作者:主要根据业务人员的需求设计报表、大屏等。
IT 人员:主要负责 FineReport 的服务器部署、日常运维、权限分配、报表挂载等工作。
业务人员:将实际业务中的需求提供给报表制作人员,并在 PC 端或移动端使用报表查看数据。
本文将给出这三类人员的进阶学习路径。
注:这三类人员的新手路径请参见:报表制作基础学习路径、IT人员基础学习路径、业务人员基础学习路径
2. 报表制作人员进阶路径
2.1 学习普通报表
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 可帮助大家更好地学习如何设计出一张美观的普通报表 | 报表应用学习路径 |
一张报表中可以定义多个数据集,分别取出需要的数据库表,所取的数据库表甚至可以来自于不同的数据库 | 多数据源报表简介 | |
数据库表中的一条记录不分布在同一行上,而是将数据散放在多行上,记录分块或者分页显示 | 自由报表 | |
同时包含数据的横向扩展和纵向扩展 | 交叉报表 | |
在单元格中嵌入独立的报表模板,嵌入的模板称为「子报表」,嵌入子报表后的整体称为「主报表」 | 嵌入式主子报表 | |
表数据实际值为aa,用户希望显示值为bb 例如:内置的 FRDemo 数据库的「订单表」中只有客户 ID,对应的客户名称在「客户表」中,希望将订单明细报表中的客户 ID显示为对应的客户名称 | 数据实际值与显示值 | |
希望前端预览时只展示出字段里面的部分数据 | 结果集筛选 | |
用户预览模板希望能够根据屏幕分辨率自适应 | 自适应属性 | |
实战演练 | 想从大量的数据当中,获取到符合条件的数据,例如在网格式报表中,仅展示已付订单的记录 | 筛选过滤 |
对组内的数据进行数量汇总 | 分组汇总 | |
希望数据在一页显示 | 不分页显示数据 | |
单元格背景色间隔显示,运货费大于 100 元时,单元格内容红色预警 | 单元格添加预警,间隔背景色 | |
数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示 | 相邻连续分组 | |
制作分页报表时,希望报表能固定每页显示多少行 | 固定行数分页 | |
分组是根据数据的值段来分的 比如按照分数段、年龄段、时间段等,属于某个值区间的记录归到一个组里显示 | 按段分组 |
2.2 学习参数应用
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 帮助大家更好的学习参数与参数控件的相关内容 | 参数应用学习路径 |
在参数面板中使用,可筛选指定日期的数据 | 日期控件 | |
主要介绍 op 后面具体有哪些参数以及对这些参数的说明 | op 参数说明 | |
参数面板上添加控件实现参数查询时,当设计器中控件的配置项无法满足用户的需求时,用户可以使用 JavaScript 来开发功能,如修改控件样式、设置控件默认值、修改控件搜索逻辑、实现参数联动、实现参数查询等 | 参数控件接口 | |
实战演练 | 下拉复选框中不选择参数值时能够查询出数据表中的全部值 | 下拉复选框参数为空选择全部 |
希望直接在输入参数后就查询结果,不需要点击查询按钮 | JS实现无需点击查询按钮即可自动查询 | |
参数界面中,往往需要在一个控件中动态的控制其他控件的值 | JS实现参数控件赋值 | |
若数据库中存在一列数据是日期型的,希望查询某一段时间内的数据 | 根据开始时间、结束时间查询数据 | |
在使用参数控件时,有时我们希望部分参数控件在没满足条件时不显示,满足条件后再显示 | JS根据条件显示参数控件 | |
当使用的数据来自文件数据集、内置数据集时,希望上一个下拉框选择了值后,下一个下拉框根据上个下拉框的值显示选项 | 公式实现下拉框参数联动 | |
当模板中有多个下拉复选框时,上一个下拉复选框选择了值后,下一个下拉复选框根据上个下拉复选框的值显示选项。下拉框选项之间有层级关系,可以实现多级联动 | SQL语句实现下拉复选框参数联动 | |
通过 CSS 修改控件的显示样式 | CSS修改控件样式 |
2.3 报表专题
专题 | 内容 | 参考文档 |
---|---|---|
函数 | 将数据集中的数据列直接拖拽到单元格中使用时,如果想要「条件显示」某些数据列的值,那么可以使用数据集函数 | 数据集函数 |
用户希望某个单元格能够直接获取到数据库中的某个值,而不是先要定义一个数据集后,再去取数据,这时就可以用 SQL 函数 | SQL函数 | |
在对日期型数据进行操作时,经常会遇到要获取当前日期、获取当前时间、获取日期的年月日等等操作,此时可以用日期函数 | 常见日期函数 | |
介绍一些常用的日期和时间函数 | 日期和时间函数概述 | |
介绍一些文本函数 | 文本函数概述 | |
有时用户希望能直接在数据集中取出满足条件的行列数据,不必再将数据集字段拖拽到单元格后添加过滤条件取数,此时可以使用 value 函数 | Value函数 | |
层次坐标 | 帮助大家由浅入深地去学习层次坐标 | 层次坐标学习路径 |
排序 | 排序功能学习与练习 | 排序学习路径 |
超级链接 | 由浅入深学习超级链接 | 超级链接学习路径 |
条件属性 | 汇总条件属性在不同场景下的应用 | 条件属性场景方案 |
导出 | 汇总不同场景下的导出方案 | 导出 |
2.4 学习决策报表
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 一份决策报表专题学习计划,帮您由浅入深学习决策报表,构建完整的知识体系 | 决策报表学习路径 |
介绍决策报表中 Tab 块的使用 | Tab块 | |
如果要在决策报表中使用表格,就需要用到「报表块」,学习了解报表块特有的功能属性 | 报表块 | |
介绍决策报表中「参数界面」的添加及相关属性 | 参数界面 | |
决策报表 body 画布是承载组件的一个主框架(不包括参数面板组件),除了可对其设置样式、内边距之外,还可以对布局方式进行设置 | 决策报表body属性 | |
实战演练 | 决策报表中的控件可自动查询数据 | 决策报表自动查询 |
点击报表块单元格中不同的数据,图表能根据对应的数据展示图形 | 决策报表组件联动 | |
点击一个报表块时跳转到另一个报表 | JS实现点击跳转页面和定时跳转页面 | |
通过决策报表主体的按钮控件或者报表块的超链接获取参数面板的控件值 | JS实现获取参数面板控件值 | |
在决策报表 body 中使用控件查询数据时,若其他组件引用了控件名称作为参数,那么控件在选择查询参数后点击「确定」或点击空白处,会立即触发查询动作 但有时候希望它不会自动查询,而是通过点击「查询按钮」来触发查询动作 | 决策报表控件实现点击查询按钮后才能查询 |
2.5 学习填报
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 该文档整理了填报的学习路径,学习视频和常用工具 | 填报学习路径 |
自由填报报表可以自定义报表的布局,具有样式自由、风格多样的特点 | 自由报表填报 | |
决策报表实现填报功能 | 决策报表填报 | |
实现多 sheet 报表填报 | 简单多sheet填报 | |
介绍填报提交的类型 | 提交类型 | |
在做填报报表时,希望点击提交按钮后,获取到填报页面的数据做一些自定义的处理 | 自定义提交 | |
填报时如果有插入和删除记录的操作,那么需要通过点击按钮插入空白记录或删除已有记录,FineReport 提供了 2 种设置插入和删除按钮的方法 | 插入和删除行列 | |
可实现效果:
| 上传下载文件插件 | |
实战演练 | 利用 JS 获取单元格的值,或修改单元格中的值 | JS获取填报单元格值或给单元格赋值 |
在自定义按钮中实现 FineReport 的提交操作 | JS自定义提交按钮 | |
填报像分页预览一样进行分页展示,从而提高填报预览的速度 | 填报分页 | |
填报模板实现当前页刷新 | JS实现当前页刷新 |
2.6 学习图表
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 帮助用户由浅入深了解图表的类型、适用场景以及图表的使用方法 | 图表学习路径 |
为了满足大屏等场景下的动画及自动播放效果,帆软官方团队基于 WebGL 等技术新开发了扩展图表插件 | 扩展图表插件 | |
实战演练 | 用户希望可以选择数据后,不用点击查询,图表就可以直接联动出对应数据 | 下拉框和图表联动 |
3. IT 人员进阶路径
3.1 学习服务器部署
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 整理了服务器部署相关的基础学习资源,帮助大家快速掌握服务器部署相关的概念 | 服务器部署学习路径 |
学习单点登录 | 单点登录 |
3.2 数据连接
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 在制作报表前,我们需要在 FineReport 中建立与数据库的连接,让 FineReport 能获取到数据库中的数据 | 数据连接概述 |
介绍 FineReport 支持的数据库 | 数据连接支持范围 | |
汇总 JDBC 数据连接相关文档 | JDBC数据连接索引 | |
介绍在设计器中进行数据连接的方式 | [设计器]JDBC连接数据库 | |
数据集是指可直接应用于模板设计的数据展现集合 按其来源范围数据集可以分为 数据库查询 , 内置数据集 , 文件数据集 , SAP 数据集, 存储过程 , 多维数据库 、关联数据集 以及 树数据集 | 数据集 | |
数据库查询是指从定义好的数据库连接中,也就是数据源中使用 SQL 语句来选择需要的字段,一般是直接对数据源中的数据库表直接进行操作 | 数据库查询 |
3.3 平台学习
阶段 | 内容 | 参考文档 |
---|---|---|
进阶学习 | 用户登录数据决策系统后,点击右上角的用户名,跳出移动端二维码、账号设置设置、登出项,本文介绍这些设置项 | 用户设置 |
FineReport 支持用户方便快捷的设置日报、月报、季报、年报等任务。 无需额外工作,设置定时调度任务后,服务器便会在指定的时间自动完成设定的任务 | 定时调度 | |
权限细粒度控制是指针对模板内部的小处方面进行权限控制,比如说单元格内容数据,控件、隐藏行列、工具栏,sheet,图表等等 | 权限细粒度控制 | |
介绍权限细粒度相关的参数和函数 | 权限细粒度参数控制 | |
数据决策系统中除平台属性配置以外的所有信息,包括目录树设置、模板定时任务信息等,均存储于 FineDB 数据库 FineReport 支持使用内置 FineDB 数据库或启用外接 FineDB 数据库 | FineDB 数据库简介 | |
简单介绍 FineDB 数据库中包含的表字段说明 | FineDB 表结构 | |
介绍 websocket 的作用、端口等 | Websocket简介 |
4. 业务人员进阶路径
专题 | 内容 | 参考文档 |
---|---|---|
移动端 | 本文档整理了学习移动端应用的路径 | 移动端应用学习路径 |
移动端属性里的自适应选项,可控制报表在移动终端上的显示效果 | [通用]移动端自适应 | |
用户可在数据分析 App 中,配置自己的服务器,浏览整个报表工程 | App连接到平台/报表服务器 | |
在实现不同 Tab 系列下不同维度的数据分析时,用户可选择并设置多样化的 Tab 标签面板样式,使多维度模板更加清晰和简洁 | [通用]TAB 标签面板样式 |