在数据人的聊天记录里,总离不开
“好了吗”这三个字,每天上班都要经历业务或领导的夺命三连问:
“昨天说的数据,整理好了吗?”
“我要的报表做好了吗”
“我上午说加个字段的报表,你改好了吗”
……
所以,表哥表姐们不光得为报表怎么做发愁,还得为报表制作效率发愁,一些简单、重复性的报表,做多了操作自然也熟练了,无非就是用Excel复制粘贴,不用耗费太大精力,但是遇到复杂报表,比如下面这样的,就急的抓耳挠腮了
比如像下面这样的:
还有这样的:
这些复杂报表,
表头特别复杂,大格套小格看的人眼花缭乱,而且要
展示信息量很大,包含了各种各样的数据,计算方式复杂,明细数据、汇总数据,都集中在一张表上。用Excel做,光调整表头,就得耗费不少时间,再加上复杂的数据关系,一不小心,报表就错乱了。
不过对于万能的程序员来说,没有什么问题是代码解决不了的,只不过像这样一个复杂的模板估计代码得写上几百行,中途需求一改又得重新修改代码,再加上后期的报表维护工作,再牛的程序员也会头疼。
那这类结构复杂、制作苦难的报表,真的就无解了吗?
其实对于这些复杂的报表,很多专业的报表工具已经将其模块化,并且专门研究了针对复杂报表的报表开发模式,比如国内比较知名的报表工具FineReport。它针对各种报表需求,开发了三种报表开发模式:
普通报表模式可以用来制作常用的基础表,比如明细表、交叉报表、分组报表、分栏报表、数据查询类报表等等,还支持数据填报,基本上大部分报表格式都能覆盖。
普通报表模式的操作界面和Excel类似,只不过在excel中单元格对应的是单个数据,在FR中单元格对应的是数据列,然后再通过单元格扩展实现各种模板效果,所以,如果熟悉Excel的人,上手会很快。
可以做这样的交叉表:
卡片分栏表:
还有,这样的票据套打报表
针对各种样式不规则的报表,比如财务经常遇到的复杂票据类报表等等,FineReport还特地开发了聚合报表模式,专门用来开发不规则报表。
聚合报表模式就是把一张复杂大报表分为多个模块分别制作,每个模块都相当于一张独立的报表或图表,各模块之间相对独立,互不影响。而我们在Excel中调整一个单元格的行高或列宽时,它所在的整行或者整列的其他单元格都会受影响,对于这种表格样式非常不规范的,单元格前后左右行高不一致的复杂报表,就要不断的拆分、合并单元格,实现起来非常困难。
而且,FineReport还提供了异构数据源模型,可以进行多源数据关联,同一张报表的数据可以来源于同一数据库的多个不同表,或多个不同数据库,不用手动复制粘贴数据,大大节约了报表开发时间
除了数据查询与展现类报表,FineReport还支持数据填报,可以直接和数据库连接,通过制作好的填报、查询模板就能修改或者录入数据,还支持在线批量导入Excel数据,解决了企业的数据采集问题
我们上面说的这些都是传统的表格类报表,现在的报表更加讲究数据直观、报表页面美观,所以这两年图表可视化类报表更加受欢迎。所以FR还内置了很多的可视化图表类型,满足多样的数据可视化场景。
基础图表:
扩展图表:
通过FineReport的决策报表模式还可以快速实现可视化驾驶舱的开发,决策报表模式采用的是画布式操作界面,简单的拖拽操作就能构建强大、全面的“管理驾驶舱”,可以用于手机、pc、电视、大屏等多种终端,比如企业战略指挥中心、监控中心或者会议室的数据大屏等。
以上便是用专业报表制作报表的方式,如果充分利用FineReport的三种报表设计模式,可以实现大部分复杂报表设计需求,玩转报表开发。
比如,目前主流的软件——finereport,它小到填报、查询、部署、集成,大到可视化大屏、dashboard驾驶舱,应有尽有,功能很强大。最重要的是,因为这个工具,整个公司的数据架构都可以变得规范,下一步就是构建企业的大数据平台了。而且它是java编写的,支持二次开发,类Excel的设计器,无论是IT还是业务,上手都很简单:编辑sql优化、数据集复用简直都是小case,大大降低了报表开发的门槛。在企业中被关注最多的数据安全方面,FineReport支持多人同时开发同一套报表,并通过模板加锁功能防止编辑冲突;通过数据分析权限控制,保障数据安全。