报表,是许多应用系统中非常重要的组成部分。
报表工具,是高效率开发和运行报表的关键。今天,已经没有人再会用手工编写代码的方法来制作报表了吧。
目前,已经有了大量报表工具可供选择,比如国外的主流产品BO、Crystal Report、Brio、MSTR等,国内中高端的润乾、和勤,低端的的数巨(MaxReport)、杰表、中创等。各厂家做足宣传,产品功能令人眼花瞭乱。本文将从用户的角度,谈谈如何以一个可靠的方法,选择报表工具。
选择报表工具的基本次序是:硬指标满足 - 报表的可实现性 - 综合成本 - 系统的可靠性与性能
1. 硬指标满足:
硬指标是指一些很明确的、必须要满足的要求。这种指标每个项目都会不同,但往往都是对用户和开发商很关键的。比如,有时会要求能在Linux平台下运行,有时会要求能将报表转出为PDF,有时会要求能将产品的标记改为项目开发商或用户的(OEM),有的要求Java报表,有的要求离线填报,有的要求客户端无控件... ...。并不是说一定要满足上面的指标,而是说,对于这类的指标,应该一开始就列清楚,要明确问明白被选择的产品能不能满足,对于不能满足的产品,就完全没必要再浪费时间了。
之所以把这个工作放在第一步,一方面是因为这是很重要的环节,另一方面是因为这个工作花费的时间少,用它来进行第一步的筛选,最节省时间。
2. 报表的可实现性:
一个工具再好,再便宜,或是再有名,要是你要的报表做不出来,别的全是瞎扯。
所以,一定要弄清楚,客户要什么样的报表,要拿到一些典型的表样。
如果你的报表很简单,把数据挑几列一行行列出来,那每个产品都能做。
如果你的报表很复杂,特别是里面有些很别扭的东西,恐怕就会有很多产品做不了了。
这一步,最省事的方法,是拿着要做的报表,给产品厂商看一下,让他们说句痛快话,能做不能做。
但是,销售有一句名言:使劲拍胸脯,哪怕拍成鸡胸。所以,厂商很可能会告诉你他们都能做,但到最后,你会发现做不了。
因此,还是要对常规的报表制作方法有一个基本了解。最简单的,打开MS Access,就有一个内置的报表工具,这是报表的老鼻祖了,大多数报表工具,都是从这种模式传承下来的,当然做了很多的改良。当你了解了一般的报表路数,你就会比较容易明白,哪些东西对于报表工具是小菜一碟,几乎谁都能做,哪些东西则有难度,甚至很难做。对于后者,你可以集中精力,了解一下你选择的产品能不能做,怎么实现。当你认真去探讨时,做的了、做不了,也就会比较清楚了。
这里面会出现一个问题,有些报表,拿有的工具就是做不出来,那很简单,直接PASS掉。但有些报表,在有些工具下可以很简单地做出来,在有些工具下则可以用一些曲折的方法做出来,这时就不能简单地比较产品了,要去比较综合拥有成本。
3. 综合成本
是不是一张报表,一个工具五分钟做出来,另一个工具半天做出来,前者就一定好呢?(这是象润乾这样的产品所经常宣称的)
是不是两个报表工具(或者说BI工具),一个能做十件事,另一个只能做三件事,前者就一定好呢?(这是象BO、Brio这样的产品所经常宣称的)
是不是两个报表工具,一个卖十块钱,另一个卖一百块钱,前者就一定更合算呢?(这是有些报表工具所乐于宣称的,仅需xxx元...)
未必吧!
单张设计效率高,如果报表少,如果报表简单,有什么用?
一大堆功能,用户用不上,有什么用?
买工具便宜,开发花一大堆钱,合算吗?
当问题这样直接问出来时,恐怕很多人都能做出正确的回答了。
真正正确的方法,是考察综合拥有成本。综合拥有成本,是为了达到目标(用户的实际需要),所花费的购买工具、开发、机会成本等等的总和。
请你明确一下用户到底需求的是什么;他的报表是什么样子;他的报表有多少;还有,你自己的人员成本是多少!
另外计算一下你有多少人,项目的进度要求... ...
看看用每个报表工具,你要花多少钱,你要花多少精力与人力投入... ...
根据这些,做出一个综合评估,你就会很明确,哪个是对你最合算的选择。
举两个极端的例子,用户就10张报表,你的程序员不用花钱(不管你用什么办法),那你干脆找个开源的,自己改改吧。
反之,用户有500张报表,很复杂,你的程序员一个人月的成本是2万(不光是工资,你还要付福利、房租、空闲成本、培训成本、管理分摊...),那你选一个报表工具比另一个便宜五万块钱,有多大用吗?
这里有两点要明确。一是算综合成本,前提是“能做”,即我们所说的可实现性。二是算综合成本,是建立在一个假设的基础上,即你相信厂商所说的。后面你还需要实际去试试。
4. 系统的可靠性与性能
到这一步,你应该是有一个优选的产品了。
为什么到这一步才去试,是因为系统的可靠性与性能,试起来都要花费你大量的精力。如果拿好几个产品试,不仅浪费时间,而且可能会使你无法真正把一个产品试深入。
还有一个技巧,建议你在试验之前,最好先与厂商谈好商务条款。否则,试完了再谈,一旦谈不拢,大家都会浪费大量的时间与精力,而你相对更被动一些。要知道,在这场博弈中,你在测试中所花的时间与精力,要远远多于厂商,因为他们不需要学习他自己的产品。
至于说应该如何试、试到什么程度,看你的经验、判断及厂商的相关情况等等了。
关于如何看厂商,有一点远了,另外写一篇吧。
以上所讲的,都是一个方法论,希望能对大家有所帮助。本文并不涉及具体的技术指标与标准,有关这方面,将另发一篇,敬请关注。
责编:
微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友