最近做一个web项目,正在考虑报表工具的问题。 报表对于系统开发的重要性是不言而喻的,
一方面对于一般的MIS或者ERP之类的系统而言,报表是客户最能够直观的感受系统功能的表现形式,也就是系统最能够吸引客户的地方,特别是客户的领导阶层。一般的系统在设计的时候都有所谓的“领导查询”或者“决策支持”模块,那是在推销系统的时候给总经理或者总裁预备的,我很少看到在系统真正上线的时候高层领导会直接使用系统的,因为他们通常都是看报表的,而不是直接使用系统的。
另外一方面,在项目上线之后的一段时期内,客户提出最多需求地方就是报表了。所以开发设计各种各样的报表就成了维护人员的日常工作。客户可能会突发奇想,想要一个什么什么样的报表,需要对业务数据进行各种形式的分析,这都令程序员烦恼不已。
解决问题的方法有多种:
1. 系统设计人员会想到给系统增加一个“客户自助查询”或者“报表定制”功能,其实就是自己在做一个小的报表设计器。这样费工费时,而且功能也比较单一。
2. 采用功能比较强的报表工具,带有用户设计器的。例如Fast Report,Crystal Report等,这些工具的设计器很强,而且让用户自己去设计,但是要让客户用这些工具设计复杂的报表,基本上是在培养用户编程程序员。
3. 数据仓库技术是解决这些问题的方案之一,可以看作是报表系统的深化。
现在各大数据库厂商都有自己的数据仓库解决方案了。数据仓库的概念很大,但是一般的人只是用它来做OLAP就足够了。
数据仓库的理论也很复杂,对于一般的应用不需要了解的那么深入。数据仓库入门也很简单,微软的SQLServer附带了Anylize Service,这是微软的数据仓库产品,它带了一个入门教程,很简明,花几个小时step by step做下来之后对数据仓据的一些基本概念就会有所理解了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=828849