OLAP工具就是商业智能BI吗?显然不是,但起码它是商业智能BI的范畴之一。关于OLAP的定义,并不是本文讨论的范围,这里想讨论的就是一个OLAP的前端展现工具,或者说解决方案。
为什么要讨论前端展现呢?我们还是从OLAP的实际应用开始分析。企业在进行经营决策的时候,会产生大量的报表和汇报,进行大量的数据分析,从而得出提供决策支持的数据。有现象表明,频繁的进行数据分析和产生大量报表的一般都是业务部门,并且也只有业务部门确切的明白自己需要什么,而实际上,受制于技术门槛,这些工作以前全都是由IT部门人员用OLAP产品来完成的,而IT部门的技术人员是企业所有部门中最不熟悉使用报表工具的部门人员。
OLAP报表产品最大的难点在哪里?目前报表工具最大的难点不在于报表的样式(如斜线等),样式虽较繁琐但并非本质困难。最根本的难点在于业务部门知道报表代表的真正含义,却不知道报 表的数据统计模型模型;而IT部门通过理解业务部门的描述,在数据库端进行设置数据统计模型,却对报表本身所代表的价值很难理解。这样的现状,导致报表工具无法两者兼顾,OLAP报表工具产品一直在数据模型设计层面(OLAP层面)和报表本身功能层面做出平衡。
如果有这么一个工具,可以以一种非常平易近人的方式来访问多维数据库(因为事实上,IT技术人员可以非常完美的遵循技术规范来创建标准化的数据,而不用整天头疼如何作出漂亮的报表),那就为分析人员或高层管理人员带来了福音。InetSoft Style Intelligence就是这么一款产品。在这里我只想讨论它的解决方式,所以不再赘言它的种种功能,因为这毕竟不是广告,有兴趣进一步了解它的童鞋可以搜索。
通过它,可以直接访问众多主流的OLAP产品:Microsoft SQLServer Analysis Service,Hyperion Essbase,SAP Netweaver,Mondrian。如过企业并没有配置任何一款OLAP产品,也没有关系,可以通过Style Intelligence包含的Data Modeler来创建ROLAP,它是一个从关系数据库里面直接抽取数据来模拟多维数据的工具。
有了这些OLAP数据源,终端用户就可以像对待普通数据一样对待这些多维数据了。在Style Intelligence的Visual Analysis当中,提供了丰富的展现方式,有table、chart、gauge等,不一而足。用户可以直接选取某些维度(包括维度的任何一个层次)和度量值来展现,还可以把某一维度或层次当作条件,来做what-if的分析,就像普通的数据那么方便。这些做好的sheet可以导出成excel,ppt和word,当作报表使用,也可以嵌入到Dashboard中使用。在后续的文章中,会详细介绍Visual Analysis的奥妙之处。
那么,这里又是如何做到让最终用户轻而易举的访问多维数据库的呢? 这还要归功于微软开发的MDX(Multi-Dimensional Express多维表达式)和参与制定的XMLA(XML for Analysis)规范,这成为了事实上的OLAP服务器和前端分析应用的数据传输标准。我们通过XMLA的discover方法,把多维数据库的所有维度(层次结构)和度量值,展现给了用户,于是用户可以自由地使用它们。在用户使用他们的时候,或者做what-if的分析的时候,我们根据已有的一套选择和条件公式,可以探测出用户想展现的具体Level和Measure,还有条件,我们会生成一棵条件树,综合所有这些数据,产生MDX语句,通过XMLA的execute方法执行MDX语句,并且通过我们的解析器来解析返回的xml结果,然后以内部定制的形式展现出来。
如此一来,技术人员只要专注于建立数据模型,提供数据,无需关心终端展现。而对于真正了解业务的分析人员或管理人员的技术门槛又悄然降低了,因为现在数据对于他们来说显得很直观,于是问题似乎迎刃而解了。