互联网服务商业智能

一张报表引发的思考

一张报表引发的思考报表在各行各业中应用非常广泛,工作中常用到的各种报表如年报、季报、月报以及日报等等都与我们的工作息息相关。在报表制作人员以及使用人员眼里,报表所展示出来的无非就是一些表格和数字,因此他们认为要实现报表并不难,用编程工具或报表工具似乎很容易就...显示全部
一张报表引发的思考
报表在各行各业中应用非常广泛,工作中常用到的各种报表如年报、季报、月报以及日报等等都与我们的工作息息相关。在报表制作人员以及使用人员眼里,报表所展示出来的无非就是一些表格和数字,因此他们认为要实现报表并不难,用编程工具或报表工具似乎很容易就可以做出来,他们的看法其结果一致,但他们的角度和立场却不一样:对报表制作人员来说,其一,中国程序员有个通病:"老子无所不能";其二,这些报表制作人员实际上曾涉及报表制作种类以及与报表息息相关的内容不多、不广也不深,所以他们不可能有太多深刻的认知;对使用者来说,报表中的业务都是他熟悉的,即使怎么变也离不开他的业务范围,对他来讲,报表无非就是格式不同、数据不同,所以似乎只要把报表格式、数据改动一下就变成另外一种报表了,也相当的简单。
    报表的实现难道真的如此简单吗?其实他们只是看到了庞大的、丰富的、复杂的报表系统里一小小部分的内容。打个比喻,中国传统文化中经典之首《易经》八卦,看似很简单的几条线线(三)乾卦,(三三)坤卦,却蕴涵了天、地、人--"三才"的大秘密、大规律。虽然报表不能等同于《易经》,但我只想说明,报表并不象人们想的那么简单,它有极其丰富的内涵和内容。
    根据我们对报表的认知和经验得出,单类型而言,常见常用的就包含有四大类报表(特殊的报表不在此列):第一类、类EXCEL报表(EXCEL报表);第二类、类水晶报表(动态报表);第三类、文字报表(在WORD中实现报表功能);第四类、多维报表(用OLAP功能以及分析方法展示报表)。每一类报表制作实现的过程、展示的方法也不尽相同。

    目前在国内外能完全实现这四类报表的通用工具或BI工具罕有:在国际上,号称全球第一的水晶报表仅仅能完成动态报表,还有国外知名品牌如BO、Cognos、Brio、Microstrategy等,最多也仅能完成这四类报表中的2.5类;在国内,润乾把自己的报表喻为"飞机"(重量级),也只能完成四类报表中的二类,它称用友CELL组件为"汽车",其也只能完成类EXCEL报表,明宇报表只能完成动态报表,极光商智只能完成多维报表……。
    看似简单的报表,单是类型,连国外品牌的报表工具或BI工具都无法全部满足这四大类型的报表,况且只是谈了这四类的报表,还没涉及与它相关的一些配套的内容呢,您说它还能称得上简单吗?其结论只想说明:
1、报表并非人们想象的那么简单、易实现,里面包含了很多错综复杂内容、这个内容涉及到很多高深莫测的知识和技术;
2、到今天为止,仍没看见国内外哪家的报表工具或BI工具能同时满足这四大类报表。
    不过还有一个鲜为人知的尚南公司,其所研发的BQ产品却能满足并实现上述谈到的四类报表,并在这四大类的报表上有重大创新的突破:
1、固定报表:以微软EXCEL无缝集成,在EXCEL的基础上开发,并增加了国情应用、扩展并超越了EXCEL的功能;
2、动态报表:针对水晶报表并超越水晶报表,核心思想是"报纸式排版",可任意排版,什么格式的报表都可以做,尤其适合对排版格式不规则、随意的报表;
3、文字报表:与微软WORD无缝集成,基于WORD的基础上开发,能从各种数据源获取数据,并整合成一张报表。因为很多文字和数字都是息息相关的,如果数据变了,直接选择不同参数,就能批量生成报表;
4、多维报表:能实现钻取、旋转、切片、切块等多维数据分析功能;可自动分解时间维,支持图表输出与操作等。

    在国情的应用里面,基本离不开这四种报表,也跳不出这个圈子。
    就算您很"牛",仅需按一个键就实现了这四大类的报表,是否就满足您的需要?符合您的要求了?老实说,八字都还没一撇,连门都还没进。缘何这么说?举个很简单的例子,如您要建一个豪宅(这个豪宅就是报表),即便您建得再快房子建得再豪华,如果没有周边的配套设施,您会住进去吗?什么样的设施才能衬出它是一个完整完善的的房子呢?其中少不了一些必备的设施,如水电、煤气、通讯、安全设施、还要价格合理等,除此之外,还要有相关的能令房子增值、锦上添花的东西,如学校、市场、便利交通、银行、医院……,如果没有这些,孤零零的房子,前不着村后不着店的,再豪华也称不上是高尚完备的小区,房子的价值也无从体现。其实报表也正如此,它包含了许多息息相关的配套的内容,那么这些内容是什么?要达到何种标准、何种程度才能体现报表的价值和效率?下面我们会对与报表相关配套的东西做详细的论述,看完后您对报表系统将会有更深更全面的认识,也才真正知道为什么报表不那么简单了。

第一个问题:是否可以处理海量数据
    当报表统计查询的数据达到TB级时,打开这张报表看到结果需要多久?10分钟?20分钟?还是上完了一趟便所电脑还在请您等待?要想尽快的打开报表,有一项工作是非常重要的,也是必不可少的,那就是:对应这张报表有没有建好相应的数据仓库(人的因素、业务熟悉程度等因素限于篇幅,不在此列),尽管建数据仓库不是唯一的办法(Sybase除外),但却不可缺少,要建好数据仓库就离不开ETL,好的ETL一是能提高性能;二是能整合不同数据库;三是能与报表很容易整合,当然还有很多,在此就不一一赘述了,有好的ETL,建好的数据仓库,是提高报表效率和价值的必要条件之一。由此得出的结论是:

1、国内的报表工具几乎没有ETL,只能购买第三方产品;
2、国外有些BI产品有ETL,要不价格非常昂贵,要不就是性能不好;
3、尚南的BQ拥有海量数据处理功能以及高速、高性能的ETL,能快速读取数据,比Microsoft DTS 速度快12倍以上。
第二个问题:工作成果是否可以重用
    在同一个应用领域里,有很多报表都会有一些共性、共有的业务存在,这些业务可能会不断重复出现、重复使用,当其发生变化时,这些共有的东西也随之而变化。例如,您在几百上千张的报表中用了某一个公式,现在这个公式变化了,试问:您如何在这一大堆的报表里面去修正结果?您还能记住在报表的哪些地方用过这个公式吗?您还找得着吗?也许做这些报表的人员已更换了,那您该怎么办?如何去修改?不能修改的话是否需要重做?重做要花多少时间?多少成本?您能做得了吗?重做意味着以前做的报表成果不能再重用,这个浪费是非常大的。由此得出的结论是:

1、 目前在报表中遇到这个问题,国内所有的工具暂时还不能解决,只能一个地方一个地方的去修正,要不就得重做才能得到正确的结果,除了尚南的BQ;
2、 国外的产品仅有小部分可以做到修正结果,但只限制在某几类可以重用,如BO的水晶报表只有四大类的对象可以重用,对于其他却不能重用;
3、 尚南BQ拥有全球独创的全对象重用技术以及应用,只要是对象都可以重用。可以很方便和自动的解决上述问题,所有用到这个公式的地方只要修改一处则其他地方全自动修改。而且BQ还有非常完善的对象管理机制(包括版本回溯、封装、命名等)。


第三个问题:是否可以建客户化熟悉的语言
    一个系统中,开发商提供的报表往往不能满足或符合最终用户的要求,最终用户就有自定义报表的需求。然而,对最终用户来说,影响他们定制报表的绊脚石主要就是晦涩的表名、字段名,复杂的表关系,难写而容易出错的SQL语句。为解决这些问题,语义层应运而生。BQ完善、独到语义层功能,让最终用户可轻松构建查询、定制报表。
1. BQ独有的代码表处理和数据转换技术,屏蔽了数据库设计中广泛使用的代码表,对最终用户来说,如同数据库每个字段都是真正的内容,而非代码,也就不存在为得到代码含义而关联代码表的过程;而写查询条件时则可写代码,也可直接写名称。这样,一方面方便了构造查询,另一方面还大大提高了查询性能。对海量数据库,性能往往提高十倍甚至数十倍。
2. 多语义对象封装。我们经常碰到这样一种情况:数据库只有一个"金额"字段,但这个"金额"究竟是什么金额?是工资、差旅费、还是个税,是通过另一个"类型"字段标识的。这样的库结构,在适应"金额"类别变化增减方面有很大灵活性,但对查询和报表就带来很大的困难。假如现在要按月份统计工资、差旅费、个税,怎么办?如何把一个"金额"字段拆分成三个:工资、差旅费、个税。BQ独有的带子条件语义对象功能,轻松实现这一点,让你感觉数据库就是有三个字段:工资、差旅费、个税。
3. 复杂表关联处理技术。通过简单的拖放连线,熟悉库结构的IT人员或开发商就可以预先把表关系建好在语义层中,支持多字段关联、内外连接。这样,最终用户在做查询或报表时,就不必理会表关联了,需要查什么直接拖放即可。
4. 复杂表达式对象的封装。比如,计算个税,很多报表都用到,每次都写这么复杂的表达式,显然很繁琐,并且日后一旦个税算法改变,需要逐张报表修改,就更是苦不堪言了。BQ语义层可让这样的复杂表达式封装为一个对象,在查询、报表中直接拖放使用即可。日后修改,修改语义层就可以了,每个报表会自动更新。
    以上,只是BQ语义层众多功能中的几点,前两点至今即使是语义层的鼻祖BO,都仍然没有的,但在报表制作中却意义非凡。至于国内公司,至今都没有真正的语义层,他们充其量只是一个数据字典,能把英文或拼音字段名变为中文而已。
第四个问题:做好的结果是否可以集成在同一界面
    能否将做好的、相关的报表都集成在一个界面以供阅读呢?如果不行的话,势必就要不断的打开不同报表,一来非常的不方便,二来严重影响工作效率,三来领导难以直观的看到想要的结果。那有没有一个工具能解决这样的问题呢?由此得出的结论是:
1、 要解决这样的问题必须要有EIS,目前在国际上拥有较好EIS的是Brio,但它需要编写较多的代码才能实现;
2、 尚南BQ提供的EIS平台,仅需要编写Brio 1/4的代码量就能实现,可以将您关心的报表放在同一个界面上展示,方便您快速做出决策;
3、 BQ的EIS代码语法兼容VBA6,熟悉VB的用户不必学习语法了。注意:是VBA而非VBScript,支持OO,让你可按面向对象的设计理念,设计出强大的业务系统;
4、 代码支持调试,BQ基本就提供了一个完整的集成开发环境(IDE),你可象其它开发工具一样,单步运行,实时监测某个变量的值的变化,等等。

第五个问题:做好的成果是否可以和系统无缝集成
    当您费了九牛二虎之力,好不容易做好了一些成果,但这些成果却无法和您应用的系统集成在一起,这时您怎么办?要不就是白白浪费自己的心血,要不就得面对两个不同的系统工作,试问,您能接受吗?您的工作效率如何提高?由此得出的结论是:尚南BQ有非常好的整合优势,因篇幅关系,具体详见http://www.bluequery.com.cn/
第六个问题:是否可以安全管理
    看似简单的报表,其实里面的数据非常敏感,哪些内容什么人能看?什么人不能看?其实这就是对报表的安全提出了要求,同时这个要求也是报表在展示时不可缺少的内容。结论是:
尚南BQ提供的安全设置除控制数据库的表及字段外,还可对库的记录进行安全控制,也能对报表的列记录进行安全控制,让你的数据全天候安全无忧!
第七个问题:如何管理报表
    当您做完了几百张甚至上千张的报表,您如何管理这些报表?就象人一样,只有几个人也许不需要怎么管理都不会出问题,但如果人越来越多,达到几十、几百甚至上千,没有相应的管理势必犹如散兵游民一般,并且几十人和几百人的管理也不一样,报表也是如此,须有相应的机制以及内容来管理和规范它。其结论是:
国内报表几乎没有报表管理机制,除了尚南BQ,尚南BQ拥有非常完善和成熟的报表管理机制,限于篇幅,将另文详细说明。
第八个问题:是否可以任务调度
    报表做出来后,新的结果发给谁看?如果发给相关人看,数据不断变化后什么时候进行更新?如果有些数据出了问题,如何告知相关人员?这就需要有任务调度了,尚南的任务调度,能在指定的时间运行报表或泵出数据,同时可以多个任务一起执行,有效的解决上述的问题。
第九个问题:是否可以预警
    在一个报表里,有些数据出现了异常,要立即采取行动,这就需要示警器来提醒。尚南有非常好的示警器,能帮助用户发现异常或特别数据,用户可定义以特别颜色或字体显示异常数据,或以信息、E-MAIL等多种方式自动通知相关人员。
第十个问题:是否有二次开发功能
    在您制作报表过程中,经常遇到一些意想不到、突如其来的、特定的、特殊的业务需求,当您的报表工具或BI工具本身不具备解决或者处理这些业务需求时,那么就要通过二次开发接口来解决这些特定的问题。丰富的二次开发接口是深入使用报表工具或BI工具必不可少的重要环节。由此得出的结论:
1、国外大部分产品有二次开发功能,但都显得非常薄弱,除了水晶报表(水晶报表有几百个API函数);
2、 国内的报表工具或BI工具在二次开发方面显得贫乏,甚至根本就没有这方面的功能,除了尚南BQ产品,其拥有非常丰富的二次开发功能,有近2000个API函数。收起
参与44

返回bierbin的回答

“答”则兼济天下,请您为题主分忧!
bierbinbierbinBI实施工程师kingbase
好复杂啊。。
2011-06-14
浏览1178

回答者

bierbin
BI实施工程师kingbase

bierbin 最近回答过的问题

回答状态

  • 发布时间:2011-06-14
  • 关注会员:0 人
  • 回答浏览:1178
  • X社区推广