做过表格的人可能都经历过一件痛苦的事——制作复杂报表。

对于一些报表,如下图生产计划表,由于存在很多维度参数、表内及表间的关联,填写一不小心,报表就错乱了,而且手工调整费时又费力。所谓万能的Excel数据透视表又无法完成多种分类统计,如型号、日期、生产线等。

像这种复杂的报表都有这样的共性:

  • 格式复杂。表头很乱,三五层的大格套小格很常见,还有著名的斜线,没有格线时很容易看走眼。
  • 信息量大。存在各种各样的数据,明细的、汇总的,往往都集中在一张表上。

其实有一种简单的方法,N套具有共性的报表都只要维护1套报表模板。比如报表需求发生变化,需要更改报表样式,只要改动模板,就可批量生成。一旦报表发生数据变动,只要一键刷新即可同步数据,一劳永逸,以不变应万变。

当然Excel是不能完成这项工作的。即使写代码,一个复杂的模板也得写上几百行,还不计维护。所以,一个报表如果Excel无法默认实现,那都可以归类为结构复杂,制作困难的复杂报表,需要专业报表工具。

对于这些复杂的报表,一些专业的报表工具早已将其模块化。比如,对于常用的报表需求,finereport将其分为3种制作模式:

  • 普通报表:各类明细表、分组报表、交叉报表、主子报表、分栏报表、查询类报表、填报类报表的制作,大部分报表格式都能覆盖。
  • 聚合报表:各种样式不规则的报表,比如复杂票据。
  • 决策报表:以展示业务指标为主,实现数据多维度分析的可视化报表。

这3种模式基本能解决各种报表类型需求。

一、普通报表

普通报表是最常用也是用于制作大多数报表的设计模式(保存的文件类型是cpt)。它是一种类似Excel做报表的设计模式,依靠着单元格的扩展与父子格的关系来实现各类模板效果。

支持各种行列扩展,可进行参数查询,填报报表,图表设计等等,实现包括但不限于各类明细表、分组报表、交叉报表、主子报表、分栏报表、查询类报表、填报类报表的制作。

总的来说它能够高效率的实现各各类传统格子式报表。可以制作企业中传统用Excel画的各类报表并且将之web化。能够从企业的各类业务数据库中取数,制作财务、销售、生产制造、人事等企业经营方方面面的报表,实现随时随地在PC、移动设备中进行报表访问及数据查询、编辑修改等。

典型的有如下三类:

1、各种展现类中国式复杂报表

支持明细报表、分组报表、交叉报表等基础表样以及由基础表样通过各种灵活应用制作而来的其他特色表样,且均支持灵活的公示运算,比如同比、环比、排名、占比等,也支持打印、导出离线文件。

比如:分组统计报表。

比如:同比环比及累计

比如,卡片分栏报表

比如,复杂折叠树报表

比如,票据套打报表

2、各种查询类报表

大多数情况下,我们并不需要报表把数据库中所有的数据都呈现出来,而是要根据一些条件来过滤出我们想要的数据,这在FineReport里叫参数查询。

FineReport提供了多种控件类型,可灵活搭配使用,实现各种场景下的条件筛选查询,且同一张报表可支持多个参数。

比如,多个下拉框组合的联动查询。

比如,多个条件、多种控件组合形成的复杂查询。

3、数据录入/填报表

传统意义上的报表,是解决数据呈现的问题,即把数据从数据库中取出来,然后以各种格式展现出来,对展示的结果可以进行导出、打印等。

而实际运作中,我们在数据的同时也需要对报表/数据进行一些编辑操作,比如增加、修改、删除部分数据,这样的报表在FineReport里叫填报报表。

FineReport在前述展现/查询类报表的基础上,支持填报,且提供多种控件风格可选,支持在线导入Excel数据,能满足不同场景下的数据编辑录入需求。

比如,自由填报表。

比如参数查询填报表,查出已有数据,进行修改填报。

二、聚合报表

聚合报表指一个报表中包含多个模块,每一块都类似一张单独的报表或者一张图表,块与块之间相对独立,互不影响。同时,不同块之间的单元格扩展分离,互不影响,所以能专门解决不规则大报表难题。

聚合报表的文件后缀格式也是cpt,但二者在FineReport中的操作界面有非常大的不同。

传统的格子式报表,比如Excel,有个很大的问题,就是调整一个单元格的行高或列宽,它所在的整行或者整列的其他单元格都会受影响。这样的话,对于那些表格样式非常不规范的,某个单元格前后左右行高不一致的复杂报表,实现起来就非常困难,基本上是束手无策,纵然少部分场景下可以通过不断的合并拆分单元格来实现,但是工作量实在是太大太大,得不偿失。

FineReport中的聚合报表就是解决此类问题。通过不同的表格块来拼接形成一个复杂的大报表,同时块与块之间的扩展、行高、列宽不互相影响,极大的提高了制表的灵活空间。

典型的,比如下图不规则报表。

比如下图这种尤其复杂的票据类报表,用传统的类Excel格子式编辑方式来设计是非常头疼的。

三、决策报表

决策报表,是专为解决驾驶舱类报表/dashboard而开发的。不同于普通报表设计格子式界面,决策报表采用的是画布式操作界面,通过简单的拖拽操作即可构建强大、全面的“管理驾驶舱”,在同一个页面整合不同的数据,完美的展示各类业务指标,实现数据的多维度分析。(决策报表文件的后缀格式是frm)

其具备诸多特性:

  • 能用于各种显示屏并自适应:适配PC、平板、手机、电视、大屏等多类终端。
  • 更多可视化元素:有表格、图形、控件等超多可视化组件,可自由搭配,制作百变报表
  • 多种布局方式:自适应布局、绝对布局、tab布局等多种布局方式,拖拽式设计。在同一个报表内可以拖放不同的组件,每个组件可以对应不同主题、绑定不同数据。
  • 组件联动分析:组件之间可以联动分析,点击某个组件,关联组件自动触发数据加载
  • 数据监控定时刷新:后台数据智能检测对比,数据有变更前台及时更新
  • 自动轮播:支持同一个位置轮播显示不同的图表样式,支持多个tab页轮播

为什么会有决策报表?

数据分析时代,越来越多的企业重视数据应用,关注数据可视化,而面向企业领导层的数据,往往要求在一个报表中综合汇总企业的多类信息进行集中展示,业内称之为管理驾驶舱。

传统的报表设计界面,要在一个页面中,自由搭配不同的表格、图形、控件等,繁琐而困难,决策报表提供了一种简单高效的设计方式,拖拖拽拽即可快速构建驾驶舱。

典型应用,比如面向领导的管理看板。

比如,管理看板的钻取与联动,点击地区钻取到省市,同时其他组件联动由全国数据变更成省市数据,方便领导在一个页面掌握全局业态。

比如,借助决策报表良好的多终端适应性,管理者可以在浏览器、APP、微信、钉钉等应用上随时随地监控关键指标数据。

再比如,企业战略指挥中心、监控中心或者会议室的数据大屏,基于决策报表的数据监控功能来实时关注关键业绩指标,或者面向外部宣传企业实力与形象。

最后

以上便是用专业报表制作报表的方式,篇幅有限,很多细节无法展开。如果充分利用FineReport的三种报表设计模式,可以实现大部分复杂报表设计需求,玩转报表开发。

再复杂的报表,用这3种方式,都能解决!相关推荐

  1. jquery、javascript实现(get、post两种方式)跨域解决方法

     jquery.javascript实现(get.post两种方式)跨域解决方法 一.实现get方式跨域请求数据 浏览器端 <script> $(document).ready(fun ...

  2. 设置背景图片的两种方式,并解决手机端背景图片高度自适应问题

    设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 参考文章: (1)设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 (2)https://www.cnblogs.com/Dark ...

  3. 怎么把pdf压缩的小一点 这3种方式都很简单

    在日常工作中,我们常常会遇到PDF文件太大无法上传的情况.这种情况在通过聊天工具传输工作PDF文件资料或在发送附件邮件时尤为常见.如果你也遇到过类似的问题,那么怎么把pdf压缩的小一点?网上的方法虽然 ...

  4. 封装API的一种方式,和解决跨越问题

    解决跨越问题,和分装API的一种方式: 1.为什么分装API呢,这样做的好处是,有利于后期维护,方便修改. 这种方法的步骤是1:首先在vue的项目中创建一个vue.config.js文件里面写入mod ...

  5. android 手机,连接蓝牙耳机连接不成功;两种方式都连接失败

    第一种连接方式,使用反射类,连接不成功: Method m = null;                                 try {                          ...

  6. python安装不了turtle,三种错误都一一解决

    系统:Windows 7 1,第一个错误提示 pip is configured with locations that require TLS/SSL, however the ssl module ...

  7. 电脑C盘满了怎么办?这两种方法都能解决

    用了好几年的电脑,在分区的时候C盘空间分的太小:有的喜欢把下载的软件.工作时的文件都放在桌面上方便自己使用:有的安装软件的时候不选择安装目录或一些软件必须要安装在C盘,这样你的C盘的空间就会变得不够, ...

  8. 【Ubuntu系统】ubuntu18.04磁盘空间满了无法进入系统(3种方式,已解决)

    目录 问题: 原因分析: 解决方案: 总结 参考: 问题: 前一天提醒磁盘空间满了,没有在意,关机,第二天无法进入系统,黑屏. 原因分析: 磁盘空间满了. 解决方案: 方案1:进入命令控制台. 开机进 ...

  9. 当你的电脑C盘满了怎么办?这两种方法都能解决

    用了好几年的电脑,在分区的时候C盘空间分的太小:有的喜欢把下载的软件.工作时的文件都放在桌面上方便自己使用:有的安装软件的时候不选择安装目录或一些软件必须要安装在C盘,这样你的C盘的空间就会变得不够, ...

  10. 电脑c盘满了怎么办_你的电脑C盘满了怎么办?第两种方法都能解决

    用了好几年的电脑,在分区的时候C盘空间分的太小:有的喜欢把下载的软件.工作时的文件都放在桌面上方便自己使用:有的安装软件的时候不选择安装目录或一些软件必须要安装在C盘,这样你的C盘的空间就会变得不够, ...

最新文章

  1. 用txt做数据源和winfrom textbox输入智能提示
  2. javascript小游戏代码_Cocos Creator下JavaScript实现相邻动物同化小游戏,附代码
  3. 解决 Maven 报错 Non-resolvable parent POM ... was cached in the local repository, resolution will not be
  4. hierarchy change in CRM - step1 inbound CSAIBASE queue
  5. html 一个圆圈一个c,如何用c语言程序画一个圆?
  6. jzoj1478-堆排序【堆】
  7. Haar特征与积分图—概念解析
  8. 经实验效果显著!VR虚拟帮助病人重新走路
  9. Java基础如何运用FileOutputStream
  10. window.open ()的用法
  11. 最简单的文件加密工具(完全免费)
  12. 量子场论考试必会题目
  13. 计算机术语CPI是什么意思,鼠标上的cpi什么意思?鼠标知识科普
  14. shp数据中文乱码的一种恢复方法
  15. 怎么在自己的网站中插入网易云播放器
  16. 微软Ribbon界面
  17. c语言else if函数的使用方法,ELSE IF THEN 函数的用法
  18. 计算机专业哪些证书可以抵个税,个税专项附加扣除中继续教育哪些证书可以扣除?...
  19. python 表格查询,Python实现数据表查找
  20. 无人机石油巡线技术方案

热门文章

  1. 开源数据屏蔽 数据加密_数据屏蔽或更改行为信息
  2. 学习MySQL:使用SELECT语句从MySQL服务器查询数据
  3. 数据库即时搜索_加速数据库恢复; 即时回滚和数据库恢复
  4. dbcc收缩数据库_使用DBCC SHRINKFILE收缩数据库
  5. 行存储索引改换成列存储索引_索引策略–第2部分–内存优化表和列存储索引
  6. add jar and proxy repo
  7. 基于THUCNews数据的BERT分类
  8. [靠谱原创!] SSH免密登录设置----原理详解+具体操作(全国人民看完都懂了!)
  9. [hgoi#2019/2/16t1]math
  10. 北京联通光猫 F427 路由改桥接的方法