昨天讲了ERP,反响还不错,所以借此机会来讲讲和ERP息息相关的报表系统。
最近有个朋友和我抱怨,他是传统企业的,公司想转型,但是第一步报表系统就被难住了,说很羡慕我们怎么怎么样,借此机会就来和大家讲一讲。
随着企业信息化的发展,产生的各类数据越来越多,报表需求也日益激增,业务天天提需求,报表开发天天加班赶工,叫苦连天,时间久了,企业经营效率都降低了。很多企业渴望搭建一个完善报表系统,来解决报表开发和管理的问题。
传统的企业报表搭建,比较常见的是用Excel手工做表,但这种方式太原始且效率十分低下。零零散散的数据找起来难,要进行个综合分析更是难上加难,好不容易花半天时间做个表,需求稍微一改动,就可能要重头再来,灵活性太差。
这样的问题几乎百分之90的企业都遇到过,比较好的解决办法就是搭建报表系来统一报表的开发和管理。一般来说企业搭建报表系统有两种方式,一种是开源工具或者结合代码开发,我也看见有限公司用Python做自动化报表的,另外一种就是用相对成熟的商用报表工具,比如水晶,比如FineReport。
开源工具比传统的Excel做表效率确实提高了不少,但是开源工具大多是国外软件,中文学习资料很少,开发人员的上手成本很高;另外,开源工具没有服务保障,遇到技术难题和产品bug阻塞时,对整个企业报表系统的构建和上线运行都是极大的风险。
相对来说,用商用报表工具来搭建报表系统是个不错的选择,但工具百花齐放,功能和需求的对应层次不齐,报表需求本来就多且不统一,所以在选型的时候要结合自身的情况考虑。
其实,一个完善的企业级报表系统,重点在两个环节:一是报表设计、二是报表管理。因此,在选择报表工具搭建系统时就要重点关注这两点:报表设计功能是不是强大,能不能适应各种各样报表需求;报表设计完成后,后期的维护和迭代是不是方便。
我接触过很多报表集成项目,国内帆软公司的FineReport用的较多,因为其功能和组件丰富,又具有一定开放性,能解决很多复杂奇怪的报表需求;其次,产品易用节约了很多学习成本,接口文档都很丰富,定制开发以及集成都很方便;报表管理上,权限很重要,对于数据安全以及数据和报表的流程。下面具体讲讲。
因为我曾经是他们的客户,所以在文末送上FineReport的永久免费版,也希望大家多多转发,这么好用的软件得更多人知道。
一、报表设计
1、零编码,拖拽制表
说到做报表,做表效率肯定是大家要关心的(做报表需求的人加班程度堪忧啊),比如上报经理的管理费用明细表,涉及很多函数公式,几百个明细字段,对的人眼花,而且每个月都要汇总一次。这个用报表工具可能只要花一个小时做个固定模板,因为FineReport做报表是对数据字段而不是具体某一数据,表的扩展也是基于字段。大部分操作通过拖拽就可以完成,关键每次做一张模板,当连接的数据源更新时会自动更新,可根据时间或者自己设定一些条件来筛选,每个月做报表就只要筛选下即可。
2、三种设计方式,满足多种制表需求
我们报表开发人员在工作中,经常会接到各种各样的报表需求,所以在选工具的时候必然要考虑工具是不是能适应多种的报表需求。FineReport有三种报表模式:普通报表、聚合报表、决策报表,基本可以解决绝大部门的报表需求。
普通报表模式,用的是类Excel的风格,基本上会使用excel就能会用,一般用来做一些常规的分组表,交叉表等等。
聚合报表模式,一般用来做一些不规则大报表。像下面这样的不规则报表,我们平时用Excel做的话,要不停的合并、拆分单元格,十分麻烦,如果用FineReport的聚合报表模式做的话会方便很多,因为它采用的是画布式设计,各个模块是相互独立的,在画布上拖拽各个模块就可以完成。
还有一种就是决策报表模式,一般用来做一些驾驶舱、管理看板等,比如下面就是我用FineReport做的一个管理看板,把想要的可视化图表组件拖拽到画布上就可以形成一个综合分析看板,很方便。
3、远程设计与多人协同
通常情况下,报表设计器安装在我们报表开发人员的电脑上,但是部署工程的服务器是在另外的电脑上,这种情况就要把设计器和报表工程都放到同一台机器上,然后我们远程去修改、操作文件,但是远程桌面经常卡的不行,体验很差,而且服务器上安装设计器也增加了管理员的维护难度,还降低了服务器的安全性。如果部署了FineReport的话,就可以用它的远程设计功能,可以直接在本地设计、远程发布模板,直接更改服务器短的报表文件。
除了要远程设计外,我们报表开发还经常遇到几个人要一起协同做表的情况,每个人负责报表项目的一部分,有时候还要用到别人的报表,这时候就可以用FineReport可以把几个报表开发人员连接到同一个报表运行环境,然后再用权限控制每个人可以操作的文件范围,来保证安全。除此以外,如果担心几个人同时编辑一个文件会导致冲突的情况,可以对模版文件进行锁定,来防止其他人更改模版。
4、支持多种数据源
现在一个企业一般都有好几个业务系统比如CRM、ERP、OA等,业务数据就分散在这些独立的系统中,要找数据的话就要进入不同的系统,十分麻烦,如果有一个平台可以把这些系统连接起来,把数据打通,取数就方便多了。FineReport可以充当这样的角色,它可以支持多种数据源,在一张报表中定义多个数据集,可以从各个不同的数据库中取出数据放到一个表里。
5、数据查询与过滤
企业报表应用中,报表做好了之后,往往还要满足其他各个部门的查询需求,天天都有人来要这个数据那个数据,这就需要报表产品能方便查询数据。比方说财务经常需要查看历年的财务年报,以往可能要单独的将每一年的数据调出来汇总成表,但在FineReport里就可以通过设置年份参数,来查询年报数据,在参数面板设置好参数之后,选择需要查询的年份就可以一键调出对应数据。
6、数据填报
平时工作中,传统意义上的报表一般就是数据呈现,把数据从数据库中取出来用各种图表展现。但是很多时候我们需要对数据库里数据进行添加或者修改,比方说人事部门就经常需要录入或者修改员工信息,像在这样的需求在finereport里可以用填报报表实现,设置好报表模版,将单元格和对应的数据库的字段绑定之后,就可以通过报表直接对数据库里的数据增加或者删除。为了避免一些错误数据入库,可以通过条件设定,来对填报的数据进行校验检查。
二、报表管理
1、用户权限管理
上面说的已经解决了做报表的问题,下面要解决的就是看报表的问题。一般情况下,企业开发的报表都是嵌在各个系统里的,领导想要看报表就要从各个系统里调,耗时又费力。最好的解决办法就是搭建一个企业报表管理平台,通过一个统一的应用访问各个系统。
FineReport里面内置了一套数据决策系统,直接可以在FineReport内对用户权限、系统资源、配置等进行统一的管理,各个层级的领导和业务人员都能通过一个门户系统看到自己权限范围内的所有报表。
2、定时调度功能
平时,管理人员为了及时获取各方面数据及信息,会要求业务部门提交日报、周报,这样一来就给业务人员增添了很多工作量。这时候就可以用FineReport的定时调度功能来定时生成周报、日报问题。不需要反复做表,设定好定时任务后,服务器便会在设定好的时间自己生成报表,还可以把报表发邮件、短信给领导看。
3、移动平台
目前很多企业绝大部分的报表查阅都是依赖pc端,但是对决策层的领导来说,他们经常出差,很多时间都在奔波在路上,没办法及时查看pc端的报表,有时候就会错过调整业务问题的最佳时机,因此报表移动化也成了很多企业追求的趋势,FR也适应了企业这个新需求,提供了移动端报表的功能,可以和企业已有的移动办公平台集成,比如微信、钉钉等,集成后可以将报表查看的消息推送到领导的微信、钉钉上,这样领导就能及时地查看报表,不会错过重要信息。
三、总结
企业的报表系统搭建其实没有那么难,报表系统的核心是对于数据的处理和展现,选择合适的报表工具必然能事半功倍。但想要十全十美的报表系统不是一个单一的工具或系统能解决的,报表系统能力不仅取决定于工具能力,也依赖企业的数据管理能力,各个企业的数据管理能力情况不同,相同的工具在不同的企业应用那也是千差万别,好马也得配好鞍。