zoukankan      html  css  js  c++  java
  • 数据仓库知识点梳理(4)

    接上一篇数据仓库知识点梳理(3)对数据立方体和MDX的介绍,本文将在本地Windows环境上搭建基于数据立方体的数据分析平台。并对一个示例立方体进行多维度分析。

    环境配置

    软件下载和安装

    本文使用Pentaho的社区版本BI Server作为数据多维分析的工具,下载地址为https://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/。当前最新版本为7.1,更新日期为2017年5月22日。

    这个Pentaho出的另一个产品——「Pentaho Data Integration, 简称PDI」对于从事ETL工作的朋友应该很熟悉,PDI以前的名字叫做kettle。

    下载的过程中,可以在需要安装的机器上先安装Java环境。这次我使用一台Windows7的笔记本电脑进行测试环境的搭建。Java运行环境JRE可以直接在Oracle官网进行下载。安装完成后,可以使用java -version查看版本信息。

    BI Server下载完成之后解压,将其解压到指定程序目录,比如D:Program Filespentahopetaho-server

    为了让BI Server能够找到Java程序的路径,需要在Windows的环境变量中添加名为PENTAHO_JAVA_HOME的环境变量,变量值设为JRE的安装路径。

    为了多维数据立方体的操作需要用到另外一款插件——「Pivot4J」,它可以将将图形化的操作转化为MDX语句,从而简化对数据立方体进行操作。Pivot4J的下载地址为http://ci.greencatsoft.com/job/Pivot4J/lastSuccessfulBuild/artifact/pivot4j-pentaho/target/pivot4j-pentaho-1.0-SNAPSHOT-plugin.zip。下载解压的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。

    1. 在BI Server主界面点击File > New > Pivot4J View打开一个新的Pivot4J视图界面,然后选择SteelWheels类别下的SteelWheelsSales立方体。

    1. 在打开的立方体操作界面中,可以将需要分析的维度拖动到Pivot的行或列中,从而对对应的维度进行分析。比如可以将产品Product拖到Columns,将时间Time拖到Rows,同时选用的测度为Quantity,即销量,便可以获得按照产品和时间对销量进行分析。同时对应的MDX语句,在MDX Query子窗口中可以找到。

    1. 如果我们将订单状态拖动到Filter中,就可以实现对总体数据根据订单状态进行筛选,这里选择状态为Shipped,所以可以到销量就减少了。对应的,MDX Query中语句在Where条件后增加了[Order Status].[Shipped]

    1. 点击相应维度上的加号,便能实现在时间或者产品维度上的下钻,查看到特定产品在特定时间段上的销量。

    以上,就是使用Pivot4J对数据立方体的查询操作,若需要更复杂的维度分析只需将维度拖到Pivot结构的行或列上即可。对了,Pivot这个功能实际上在微软Excel上就有,中文名就是数据透视表。在少量数据情况下可以使用Excel进行快速分析,大数据量下需要借助于BI工具。

    总结

    • Pentaho BI Server是一款免费的BI分析工具;
    • Pivot4J是在BI Server上提供图形化操作数据立方体的插件;
    • 虽然MDX语言支持大于2维度的查询,但是在图形界面上要展示的话只提供了行、列两个维度。

    欢迎扫描二维码关注公众号

  • 相关阅读:
    LeetCode Merge Two Sorted Lists 归并排序
    LeetCode Add Binary 两个二进制数相加
    LeetCode Climbing Stairs 爬楼梯
    034 Search for a Range 搜索范围
    033 Search in Rotated Sorted Array 搜索旋转排序数组
    032 Longest Valid Parentheses 最长有效括号
    031 Next Permutation 下一个排列
    030 Substring with Concatenation of All Words 与所有单词相关联的字串
    029 Divide Two Integers 两数相除
    028 Implement strStr() 实现 strStr()
  • 原文地址:https://www.cnblogs.com/shenfeng/p/datawarehouse_intro_4.html
Copyright © 2011-2022 走看看