信息化 频道

玩玩虚拟证券公司 体会数据仓库妙用

自主设计报表  3分钟解决问题

  干脆我自己搞一套。找出影响交易量的10个因素,建了一张表,前10个字段是(营业部、委托方式、交易所、币种、证券类别、客户规模、客户年龄段、交易性质、交易月份、交易周),最后一个是交易量。

  写了个SQL过程,每天生成这张表(后来才知道,这张表就叫CUBE。术语害死人呐),在EXECL里写了一些VBA,可以把这个表下载到EXCEL中。再用EXCEL的“数据旋转表”(中文译名为“数据透视表”,但我觉得要用上“旋转”这两个点睛的字)的功能,就可以灵活配置与这10个因素字段相关的所有报表。

  我们公司根本没人用过“数据旋转表”这个功能,甚至连“自动筛选”的功能都没用过,自己挺得意的,但跟后面用MicroStrategy做出来的报表比,就差得太远了。

  MicroStratey的人来公司推销,说这个系统如何如何好。才从日本回来的IT总监见识过它的威力,于2006年初买了一套。于是,构建一个完全独立于供应商数据结构体系的数据仓库(这里指狭义的数据仓库,或者叫数据仓库展示区)成了一项现实的工作。有了粮食,才能提供给所谓的报表工具来做可口的饭菜。

  开始着手设计表结构,完全是瀑布方法设计,不断尝试、修改、从头再来。几个月前曾沿用供应商的字段命名规则,维度表不使用代理键,试着做了套数据仓库模型,用MicroStrategy做做报表,还可以。

  到了春节,下决心重新设计这个数据仓库。这下可好,好多个晚上睡不着,脑子里全是这个表应该是什么字段,时间维度如何划分层次,如何来划分事实,粒度到什么级别,需要不同的事实表描述吗,维度表直接的关系,怎样设计维度最能保证将来的扩充性,如何避免雪花型。

  不断返工,整个模型越来越清晰。最终,既能满足最基本的需求,也能保证将来模型的扩充。又开始写SQL存储过程,验证数据转换的准确性。不断告诫自己,不要过于最求完美,告诫自己适度的缺陷是项目前进的保证。总之,有了一套完全自主知识产权的东西。

  开始设置MicroStrategy,但在使用OLAP工具的时候,完全体会到它的好处。因为,我为业务部门做过太多的SQL统计,多到我自己都想要搞一套SELECT语句的自动生成工具。结果发现,MICROSTRATEGY完全就是我想要的东西。

  设置好什么实体、事实、度量、层系、上下级关系之类的东西,然后不断做一些报表,找到自动生成的SELECT语句跟之前设置的那些东西到底是什么关系。没多久就摸熟了。(因为关于如何使用SELECT语句生成各种报表,我有太多的经验和苦闷。)

  效果出奇得好,灵活的实体配置,行列抬头的随意旋转,各种方向的钻取,汇总表的自动选取。从没觉得OLAP工具这么好用。有了它,我甚至再也不用去写SELECT语句,不用在不同的表直接Join来join去。3分钟就能做一张所谓的报表。

  现在,可以说我已经完全领悟到数据仓库的好处。虽然这些好处只是冰山一角。话说回来,如果甲方没有我这个“人”,没有对数据仓库理解的人,没有愿意对数据分析的人,公司没有精细化管理的意识,“数据仓库”这个概念还不是废物一堆,或者是外国供应商骗钱的口实?

0
相关文章