技术开发 频道

报表和OLAP工具简述



    【IT168 技术文档】近来商业智能吵得火热,作为其关键基础环节的报表工具在市场上也是层出不穷,让人眼花缭乱,国内外的加起来,仔细数一下,怕有二三十种。看看好象又都差不多,这给选择报表工具造成了不少的麻烦。
   业内的报表工具在技术上大体可分成两类,一类以SQL/OLAP为理论基础(简称SQL型报表),可以基于数据库或数据仓库自动化的制作报表,这是当前业界的主流工具。代表产品以国外为主,如号称世界业内知名的crystal、纯java的stylereport、老牌的BI类产品bo、brio、cognos、microstrategy、新起之秀actuate(安讯)等;国内较有名的主要有低端控件类的如明宇、数巨、杰表、BI类的和勤、博易智软、菲奈特等;可谓数量众多,精采纷呈。
   另一类以EXCEL为原型(简称CELL型报表),主要解决报表的格式和展现问题,与数据库的数据接口基本上没有或非常简单,报表中的统计数据都需要由程序代码计算后填入表格中,基本上无法不编程序就自动化地根据数据库中的数据产生动态变长报表。事实上,这类产品严格地说应当属于电子表格类软件,和商业智能没有关系,原则上算不上报表工具。但由于中国报表的样式过于复杂,采用SQL型报表常常无法完成,迫使许多应用程序员只能使用电子表格再自行编代码去完成报表。这类产品在国内用的比较多的是用友华表和formula1,后者现已被actuate收购改造成其内的一款叫spreadsheet的产品,前者是国产软件中的优秀作品,在各行业已有了广泛的应用。
考查报表工具时,先搞清是哪种类型的产品,SQL型和CELL型的报表是相差非常巨大的两类产品,放在一起对比基本上没什么意义。CELL型报表种类较少,我们重点讨论SQL型的报表产品。
   SQL型报表工具有个基本的特征,就是主编辑界面呈条状,一般依次分成几个条状的区域:标题区、细节区、统计区,如果有分组,还会为每级分组增加分组标题和分组统计两个区,总之,整个编辑界面是一个个横条区域构成。
   所有的SQL型报表工具的数据处理模型都完全一样,不光上述那些产品之间大同小异,同我们熟悉的C/S开发工具中的某些控件也很象,如PB中的DataWindow,Delphi中的QuickReport等,VB干脆就把crystal集成于其中。
   由于数学模型一致,这些产品的制表能力也都相差不大。用crystal能做的表,换stylereport也搞得出来,反之也一样。包括一些公司新近推出的版本,如crystal XI,cognos report *net,Microsoft reporting server,声势都造得很大,其实基本原理还是那个,换汤不换药,报表本身的制作能力基本上没有提高,只是界面可能更花了些、操作略方便了些、报表管理的功能加强了许多。但原来做起来费劲的表(要编码或拼表的),则依然如故,不要指望在这些工具之间换来换去能根本地解决我们制作报表的痛苦。
   这些产品的差异都在技术实现和细节上,如stylereport是纯java的,在unix上部署比较容易,但程序不太稳定;bo、crystal制作精良稳定,但在unix部署很困难,基本上属于没人会做的事情,也就没有成功案例;Microstrategy据说运算优化做得比较好,但安装部署比较繁琐;…。
   在这个阵营中,有些产品是专做报表的,象crystal、stylereport和国产低端产品;还有一些产品的主要方向是OLAP客户端,报表只是一个部分,这类产品的报表细节处理常常因为不够专业而比较差(其强项是OLAP),象brio制作报表操作方便度和一些细节控制都远不如crystal,而bo收购crystal也正是看中了这一点以弥补其本身的不足。
   所有这些报表工具都号称自己比竞争者更擅长对付中国报表,而事实上,这些产品对付中国报表的本事是一样的,都极其困难,由于数学模型完全不对,门都没摸到。换来换去,痛苦依旧。真有复杂的报表问题,在这堆矮子里是拔不出将军的!
0
相关文章