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.

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

 

相关文章推荐

iOS容易造成循环引用的三种场景,就在你我身边!

ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同...

美就在你身边201209开学第一课

法国雕塑家罗丹说过一句话:"生活中不是缺美,而是缺少一双发现美的眼睛。"美,就像阳光一样洒满大地。世界上每一个角落都有阳光,即使再困难,在偏远的地方,都会有阳光,都会有美。   2012年的《开学第...

OLAP方案I I--Mondrian引擎 .

如前所说,Mondrian是OLAP的核心引擎,负责从关系数据库中计算、缓存数据,响应来自表现层的使用MS家 MDX语法的查询。具体表现形式呢,就是一个jar,随Tomcat启动。 看完那个Food...

Creating a basic Mondrian OLAP Cube

This post is a hands on tutorial on how to create an analysis cube for the Mondrian OLAP engine. I...

iOS容易造成循环引用的三种场景,就在你我身边!

ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同...

OLAP多维分析之Mondrian Schema详解

转自http://blog.csdn.net/huangzijuan1/article/details/6286380 Schema Schema 定义了一个多维数据库。包含了一个逻辑模型,而...

Mondrian+JPivot+Mysql Web项目实现OLAP

通过参考网上的教程及资料,终于成功跑通了例子,特记录下来,以备日后查看。 (感谢这位博主:http://hi.baidu.com/amauri3389/item/53f189539a81f4aead...
  • lqchild
  • lqchild
  • 2013年07月08日 20:17
  • 2290

Mondrian--olap引擎

一、引言 Mondrian, 蒙得里安·皮特1872-1944荷兰画家,作品以交错的三原色为基色的垂直线条和平面为特点,他的著作包括 新造型主义(1920年),对抽象艺术的发展曾经产生很深影响。——金...

开源OLAP引擎:Mondrian

OLAP Created 星期四 20 十月 2016为了满足业务管理和决策的报表系统(包括传统报表、数据仓库、OLAP等)也被创建出来,企业主管通过报表了解企业的总体运行状态。但是,随着企业间竞争...
  • xbynet
  • xbynet
  • 2016年10月25日 09:54
  • 2941
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mondrian: OLAP的威力就在你的指尖
举报原因:
原因补充:

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