接上一篇数据仓库知识点梳理(3)对数据立方体和MDX的介绍,本文将在本地Windows环境上搭建基于数据立方体的数据分析平台。并对一个示例立方体进行多维度分析。
环境配置
软件下载和安装
本文使用Pentaho的社区版本BI Server作为数据多维分析的工具,当前最新版本为7.1,更新日期为2017年5月22日。
这个Pentaho出的另一个产品——「Pentaho Data Integration, 简称PDI」对于从事ETL工作的朋友应该很熟悉,PDI以前的名字叫做kettle。
下载的过程中,可以在需要安装的机器上先安装Java环境。这次我使用一台Windows7的笔记本电脑进行测试环境的搭建。Java运行环境JRE可以直接在Oracle官网进行下载。安装完成后,可以使用java -version
查看版本信息。
BI Server下载完成之后解压,将其解压到指定程序目录,比如D:\Program Files\pentaho\petaho-server
。
为了让BI Server能够找到Java程序的路径,需要在Windows的环境变量中添加名为PENTAHO_JAVA_HOME
的环境变量,变量值设为JRE的安装路径。
为了多维数据立方体的操作需要用到另外一款插件——「Pivot4J」,它可以将将图形化的操作转化为MDX语句,从而简化对数据立方体进行操作。下载解压的pivot4j文件夹复制到BI Server的pentaho-solutions/system
路径下,即完成插件的安装。
启动和系统登陆
进入到安装目录下,可以看到名为start-pentaho.bat
的执行文件,右键点击后使用管理员身份运行。然后,会出现Tomcat的命令行窗口,首次启动可能需要一些时间,启动成功后的命令行窗口信息大值如下。
BI Server前台的默认访问地址为http://localhost:8080,默认登陆账户为为Admin
,密码为password
。
登陆后,查看下File
操作菜单的new
按钮是否有Pivot4J View的选项,有的话证明环境已经配置成功了。
数据立方体操作
本次操作实战,我们使用的Pentaho BI Server中自带的销售数据,并且在Pivot4J中已经配置好了的数据立方体SteelWheelsSales。
- 在BI Server主界面点击File > New > Pivot4J View打开一个新的Pivot4J视图界面,然后选择
SteelWheels
类别下的SteelWheelsSales
立方体。
- 在打开的立方体操作界面中,可以将需要分析的维度拖动到Pivot的行或列中,从而对对应的维度进行分析。比如可以将产品Product拖到Columns,将时间Time拖到Rows,同时选用的测度为Quantity,即销量,便可以获得按照产品和时间对销量进行分析。同时对应的MDX语句,在MDX Query子窗口中可以找到。
- 如果我们将订单状态拖动到Filter中,就可以实现对总体数据根据订单状态进行筛选,这里选择状态为Shipped,所以可以到销量就减少了。对应的,MDX Query中语句在Where条件后增加了
[Order Status].[Shipped]
。
- 点击相应维度上的加号,便能实现在时间或者产品维度上的下钻,查看到特定产品在特定时间段上的销量。
以上,就是使用Pivot4J对数据立方体的查询操作,若需要更复杂的维度分析只需将维度拖到Pivot结构的行或列上即可。对了,Pivot这个功能实际上在微软Excel上就有,中文名就是数据透视表。在少量数据情况下可以使用Excel进行快速分析,大数据量下需要借助于BI工具。
总结
- Pentaho BI Server是一款免费的BI分析工具;
- Pivot4J是在BI Server上提供图形化操作数据立方体的插件;
- 虽然MDX语言支持大于2维度的查询,但是在图形界面上要展示的话只提供了行、列两个维度。