Mondrian: OLAP的威力就在你的指尖

转载 2007年10月01日 10:11:00

Pentaho Analysis (即 Mondrian) 是一个强大的 OLAP工具。它可以封装任何JDBC数据源并且把数据以多维的方式展示出来。已经有很多文档介绍如何把Mondrian与一个数据库连接在一起, 以及如何定义 Mondrian.xml 这个schema 文件等等。

使用一个来自MDX的连接并不总是很容易的… MDX有多强大呢? 为什么我要用MDX来做多维分析而不是用SQL? 为什么不是在我的事实表里创建其它的指标来支持查询,而是使用MDX? 这里我就不多说MDX这个语言表达式的好处了。因为关于MDX已经有很多书和文档资源。

可以说MDX使得某些分析查询(年到天,部分到全部,现在与过去对比)很容易… 有时候是令人尴尬的容易,对比我们一贯使用在纯"星型模型关系和SQL group by"领域.

让我们创建一个自定义的MDX 指标,并在后面使用它。我将展示如何在Mondrian里毫不费劲地为你的最终用户提供多维分析。


  1. 下载最新的Pentaho预配置版本(DEMO):
    http://www.pentaho.org/download/latest.html
  2. 解压到你本地的机器上的某个目录 (我们这里暂时把这个目录称为$PROOT).
  3. 双击 "$PROOT/pentaho-demo/start-pentaho.bat." 当你看到 "Pentaho BI Platform Ready"时,Pentaho平台就准备好了。(译者注:如果是中国的用户,可能会在控制台上看到Pentaho BI???????.。这是Pentaho的一个bug。目前正在与Pentaho协商解决)
  4. 打开浏览器,并输入URLhttp://localhost:8080, 应该会看到下面的页面

pentaho mondrian sample pictures

  1. 然后点击“演示程序集合”


pentaho mondrian sample pictures

  1. 找到多维分析例子, 然后点击它

pentaho mondrian sample pictures

然后继续点击

pentaho mondrian sample pictures

7. 你现在可以看到Jpivot应用程序,它将允许你在一个web浏览器上浏览和创建OLAP报表

8. (可选步骤) 如果你有时间,你可以任意探索Jpivot图形界面, 一个不错的探索点是CUBE NAVIGATOR()。它将提供一个非常好的图形方式来浏OLAP cubes: 在上面作一些修改,然后点击OK ,这将使得下面的报表发生变化(译者注:这里把Positons指标过滤掉了)。变化后的报表
pentaho mondrian sample pictures

  1. 点击MDX以便打开MDX编辑器窗口

10. 粘贴下列MDX MDX编辑器里面,然后点击APPLY:

select NON EMPTY {[Measures].[Actual]} ON COLUMNS,
NON EMPTY Hierarchize(Union({[Positions].[All Positions]}, [Positions].[All Positions].Children)) ON ROWS
from [Quadrant Analysis]

你将看到像下面这样的报表:

  1. 我们这看到的是根据position(职位)汇总的所有员工的实际费用 (, 薪水费用) 表。对于善于计算的人来说,这个汇总图是不错的。但分析人员和管理者的兴趣是"它在我的整个企业里所占的比例?" 换句话来说, 花费¥1,211,073.00HR Training比不上我花在HR Training上所占的百分比%那么重要。让我们在前面的MDX语句前添加下列的计算member:
    with member [Measures].[Position Percent of Total] as ‘([Measures].[Actual] / ([Measures].[Actual], [Positions].CurrentMember.Parent))’, format_string = "|#.00%|"
    点击 APPLY ,然后关闭 MDX编辑器 (点击红色的X或者MDX 按钮).

我们下面要做的是使用MDX创建一个计算指标. MDX非常强大,所以我建议你们看看一些 MDX书籍或文档资料,以便充分探索它的能力。

  1. 现在我们要添加一个全新的计算指标到报表上。点击cube navigator, 然后点击"Measures" ,再点中 我们刚创建的指标:
    你将需要点击两次OK才能回到报表视图.
  2. 如果一切正常, 你将会看到下列带有你自定义MDX指标的报表:

很好, 对于技术人员和影编码的业务分析人员来说这太容易了, 但我们永远不会想让我们的最终用户自己去配置所有这些东西,对最终用户来说,这些都太困难了。我们怎么能够让最终的用户缓冲这些复杂性呢?这将在下一篇文章里介绍如何在Mondrian配置一个计算member.

下面是一个基于我们上面的百分比的饼图:

 

多维分析OLAP引擎Mondrian学习

1 背景 1.1 实时业务监控背景 随着信息技术的飞速发展,在电力、电信、金融、大型制造等各个行业ERP、CRM、SCM、OA等越来越多的IT系统得以成功实施,这些...
  • derek518
  • derek518
  • 2016年04月01日 17:50
  • 2894

Mondrian缓存的处理

1、根据文档中,比较费解,没有看太懂 http://mondrian.pentaho.com/documentation/cache_control.php 并且部分文档的方法无法使用...
  • gsying1474
  • gsying1474
  • 2014年11月15日 11:14
  • 3004

开源OLAP引擎:Mondrian

OLAP Created 星期四 20 十月 2016为了满足业务管理和决策的报表系统(包括传统报表、数据仓库、OLAP等)也被创建出来,企业主管通过报表了解企业的总体运行状态。但是,随着企业间竞争...
  • xbynet
  • xbynet
  • 2016年10月25日 09:54
  • 3783

OLAP简介及Mondrian快速入门

OLAP简介及Mondrian快速入门    OLAP(On-Line Analysis  Processing)在线分析处理是一种共享多维信息的快速分析技术;OLAP利用多维数据库技术使用户从不...
  • gladmustang
  • gladmustang
  • 2014年12月02日 16:43
  • 960

mondrian使用测试

项目中需要调研使用mondrian,自己从网上下了一个的demo,但是运行过程中遇到了一些问题,随着对问题的分析和解决也加深了对mondrian的使用。...
  • yu616568
  • yu616568
  • 2015年03月04日 19:07
  • 4088

Mondrian 3 schema中建立聚合表示例

1、首先根据文档介绍,大致了解聚合表的概念:http://blog.linezing.com/?p=1448 2、根据聚合表名称规则建立聚合表(前提是已经有了可以使用的schema的cube,然后添加...
  • gsying1474
  • gsying1474
  • 2014年12月27日 23:30
  • 2819

Mondrian Schema介绍及简单配置示例

Mondrian Schema介绍及简单配置示例 Mondrian是一个OLAP分析的引擎,主要工作是根据事先配置好的schema,将输入的多维分析语句MDX(Multidimensional E...
  • sinat_32660629
  • sinat_32660629
  • 2017年07月22日 13:47
  • 397

OLAP多维分析之Mondrian Schema详解

转自http://blog.csdn.net/huangzijuan1/article/details/6286380 Schema Schema 定义了一个多维数据库。包含了一个逻辑模型,而...
  • u011397857
  • u011397857
  • 2014年05月22日 12:00
  • 3968

多维分析OLAP引擎Mondrian学习

1 背景 1.1 实时业务监控背景 随着信息技术的飞速发展,在电力、电信、金融、大型制造等各个行业ERP、CRM、SCM、OA等越来越多的IT系统得以成功实施,这些分散建设的IT...
  • derek518
  • derek518
  • 2015年10月23日 16:36
  • 365

mondrian的个人总结

mondrian的个人总结
  • qzp1991
  • qzp1991
  • 2015年03月19日 19:58
  • 1087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mondrian: OLAP的威力就在你的指尖
举报原因:
原因补充:

(最多只允许输入30个字)