四、通过Alphablox快速创建多维分析应用
当定义好多维数据模型及相应立方体后,我们便可以通过Alphablox来快速创建一个多维查询应用。
Alphablox是一个前端分析软件,它同其他传统的前端分析工具一个最大的不同,它是基于J2EE架构,因此,非常容易定制化。它只提供BS结构,主要定位于提供嵌入式的、可定制化的应用。
Alphablox采用三层架构,如下图:

数据源支持DB2、Oracle、SQL Server、Sybase等主流关系型数据库;Essbase、MS Analysis Server、DB2 OLAP Server等多维数据库及DWE OLAP。
应用服务器支持Websphere Application Server、Weblogic及Tomcat。
Alphablox应用开发主要是写JSP以及一些必要的Java代码。Alphablox软件提供了一系列预先定制的、用于多维分析应用的Blox,这些Blox是一些JavaBean,用户编写分析应用时,主要就是通过在JSP页面中嵌入这些Blox来完成的。
Alphablox提供的Blox主要包括下面几类:
Infrastructure,主要用于对Alphablox元数据进行管理。
Data Access,主要用于对数据源进行访问,获取分析数据。
Presentation,主要用于前端数据分析、处理及展现。

在JSP页面中,我们是通过Taglib来引用这些Blox的,Alphablox主要提供了以下几个Taglib:

在开发Alphablox应用时,JSP页面的基本编写框架如下所示:

下边,我们就使用Alphablox来创建一个简单的多维查询应用。
首先,通过Alphablox管理界面来创建关系数据源DWEOLAP,

接下来,创建“Sales Analysis”Alphablox立方体,并通过“Enable DB2 Cube View Settings”功能将我们在前边DWE OLAP中创建的”销售分析“立方体模型及”销售分析“立方体导入到Alphablox中,如下图:




下边,我们就可以创建自己的多维分析应用了。在本文的例子中,我们创建“SalesAnalysis”Alphablox应用程序,并将Home URL指定为index.jsp,

创建好的“SalesAnalysis”应用程序,以SalesAnalysis.ear的形式保存在Alphablox应用程序目录下,如: C:\Program Files\IBM\dwe\Alphablox\installableApps\SalesAnalysis.ear。
我们需要通过WAS(Websphere Application Server)的管理控制台将该应用部署到WAS中,

当将SalesAnalysis应用部署到WAS后,要启动该应用,

我们就通过Query Builder来构造一个多维查询,

在Query Builder中,连接我们创建的Alphablox Cube Adapter数据源“dwecube”,

并构造我们需要的多维查询,

通过点击“生成Blox”按钮,将我们在Query Builder工具中定义好的多维查询,自动生成相应的Blox代码,

并将该代码拷贝到我们index.jsp文件中blox代码相对应的位置上,如图:

将我们编写好的index.jsp文件拷贝到WAS相应下的目录下,如,
C:\Program Files\IBM\dwe\appServer\profiles\default\installedApps\IBM-99LKCYANode01Cell\SalesAnalysis.ear\SalesAnalysis.war\index.jsp
这样,我们就可以通过浏览器来调用我们的应用程序了,并且以此为基础,来构建更复杂的查询分析应用。

另外,Alphablox支持MDX查询分析语言,通过MDX,我们还可以实现一些常见的分析功能,如同比、环比、移动平均值、期初分析、期末分析等。
下边代码实现了同比分析,

下边代码实现了环比分析,

下边代码实现了条件查询的功能,