Mondrian系列(四)-cube、度量、维度初窥

1.cube,立方体,是一种有名称的度量和维度的集合。度量和维度的共同点是事实表,例如下面例子中的事实表"sale_face_1997”。正如我们所见,事实表中保存了要被计算的度量,并且包含关联维度的表。


   

    …

事实表使用

标签定义,如果事实表不在默认的schema中,可以通过显式的schema指定,例如

也可以通过 标签定义更加复杂的SQL语句,注意, 标签在事实表中不支持。

2.Measure,度量,叫做Sales的Cube定义了一系列的度量,包括"Unit Sales”和"Store Sales”。如下面的例子:


每个度量都有"name“属性,对应于在事实表中的列,"aggregator”属性通常包括sum/count/min/max/avg和distinct-count,注意,如果你的cube包括父子层次结构,distinct-count会有一些限制。

datatype属性是可选的,主要说明在Mondrian的缓存中,cell值是如何表现的,以及他们如何通过XML返回用于分析。datatype属性包括String/Integer/Numeric/Boolean/Date/Time/Timestamp,除count和distinct-count外,默认是Numeric,count和distinct-count默认为Integer。

formatString属性也是可选的,这个属性指明在输出时的格式。在上面例子中,我们可以设置对Unit Sales输出格式不带小数,Store Sales个带两位小数。格式中的","和"."符号是区域相关的,因此,如果你是在意大利,则小数应该为”48.123,45”,通过使用高级字符格式,可以获得更广泛的效果。

caption属性也是可选的,度量可以设置标题属性用于返回而不使用名称,Member.getCaption()方法会返回caption。对于例如(Σ或Π)这样的字符,可以通过定义caption来显示,例如:

显示的就是Σ X

如果不从列中取度量,也能使用cell reader或使用SQL表达式计算度量值。看下面的例子:


   
       
            (case when sales_fact_1997.promotion_id=0 then 0 else sales_fact_1997.store_sales end)
       
   

在上面的例子中,如果有促销才会包含到促销汇总中,可以使用包括子查询的专门的SQL表达式。基础数据库必须能支持在聚集上下文中的SQL表达式。不同数据库间的差异通过 标签中的dialect属性来设置。

度量也可以使用cell格式化器来做专门的格式化

3.Dimension,Hierarchy,level 维度、层次和等级

我们先看一些定义:

  • member,是由一系列特定属性值决定的包含维度的点。例如,性别层次有两个成员,M和F。或者商店维度中的名称、城市、省、国家。
  • hierarchy,是为了便于分析由一系列的成员所组成。例如,store层级由一系列的商店名称、城市、省和国家组成。层次可以组织成中间的子汇总,例如,对某个省的子汇总,可以统计省下面的所有城市。
  • level,到层次根有同样距离层次的成员的集合。
  • dimension,是层次的集合,在同一个事实表有不同的层次的集合。为了统一,度量也被称为特殊的维度。
  • 让我们看一个例子:

  •    
           

       
           

    在上面的例子中,维度Gender包括一个层次,由一个单独的leve叫做Gender构成。(我们以后会看到,有一个特殊的leve叫做[(All)],用于包括总计)

    维度的值从customer表的gender列中得到,gender列包括两个值,M和F,因此Gender维度包括成员[Gender].[M]和[Gender].[F]。

    对任意给定的sale,性别维度通过事实表的sales_face_1997.customer_id和维表customer.customer_id关联。

    0
    0
    猜你在找
    查看评论
    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    快速回复 TOP
      个人资料
      Mondrian系列(四)-cube、度量、维度初窥_第1张图片
      wonder4
      • 访问:1214705次
      • 积分:15043
      • 等级:
      • 排名:第381名
      • 原创:432篇
      • 转载:100篇
      • 译文:19篇
      • 评论:186条
      文章分类
    • .Net和C#(2)
    • BI、数据仓库和数据挖掘(43)
    • IBM技术(6)
    • java理论与实践(97)
    • OO技术(14)
    • Oracle技术(162)
    • 原创(83)
    • 待翻译区(14)
    • 心情(66)
    • 测试技术(7)
    • 英语(9)
    • 过程和方法(17)
    • 项目(68)
      文章存档
    • 2015年09月(1)
    • 2015年04月(2)
    • 2014年12月(1)
    • 2014年11月(1)
    • 2014年10月(1)
    • 2014年08月(1)
    • 2014年06月(1)
    • 2014年03月(2)
    • 2013年11月(1)
    • 2013年08月(1)
    • 2013年07月(1)
    • 2013年06月(1)
    • 2013年05月(1)
    • 2013年03月(1)
    • 2013年02月(1)
    • 2013年01月(3)
    • 2012年12月(1)
    • 2012年11月(1)
    • 2012年10月(2)
    • 2012年08月(8)
    • 2012年07月(1)
    • 2012年06月(2)
    • 2012年05月(4)
    • 2012年04月(1)
    • 2012年03月(3)
    • 2012年02月(2)
    • 2011年12月(3)
    • 2011年10月(1)
    • 2011年09月(3)
    • 2011年08月(5)
    • 2011年07月(4)
    • 2011年04月(3)
    • 2011年03月(2)
    • 2011年02月(2)
    • 2010年12月(3)
    • 2010年10月(3)
    • 2010年09月(1)
    • 2010年08月(2)
    • 2010年07月(2)
    • 2010年06月(2)
    • 2010年05月(5)
    • 2010年04月(4)
    • 2010年03月(10)
    • 2010年02月(4)
    • 2010年01月(8)
    • 2009年12月(5)
    • 2009年11月(15)
    • 2009年10月(9)
    • 2009年09月(11)
    • 2009年08月(1)
    • 2009年07月(1)
    • 2009年06月(13)
    • 2009年05月(2)
    • 2009年04月(3)
    • 2009年03月(6)
    • 2009年02月(2)
    • 2009年01月(3)
    • 2008年12月(4)
    • 2008年11月(10)
    • 2008年10月(3)
    • 2008年09月(7)
    • 2008年08月(6)
    • 2008年07月(8)
    • 2008年06月(6)
    • 2008年05月(3)
    • 2008年04月(7)
    • 2008年03月(10)
    • 2008年02月(2)
    • 2008年01月(5)
    • 2007年12月(10)
    • 2007年11月(8)
    • 2007年10月(8)
    • 2007年09月(6)
    • 2007年08月(4)
    • 2007年07月(6)
    • 2007年06月(20)
    • 2007年05月(6)
    • 2007年04月(2)
    • 2007年03月(12)
    • 2007年02月(3)
    • 2007年01月(5)
    • 2006年12月(15)
    • 2006年11月(15)
    • 2006年10月(25)
    • 2006年09月(33)
    • 2006年08月(23)
    • 2006年07月(10)
    • 2006年06月(15)
    • 2006年05月(22)
    • 2006年04月(15)
    • 2006年03月(13)
    • 2006年02月(8)
    • 2006年01月(15)
      阅读排行
    • Oracle中锁定行的查找方法(186615)
    • KK音标和国际音标的对照(17899)
    • ORA-01830问题的解决(16967)
    • apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80(16437)
    • FICA是什么(15915)
    • 转换CLOB字段类型为VARCHAR2(14486)
    • ORA-02068: 以下严重错误源于 TO_XXXX.DW ORA-03135: 连接失去联系 问题的解决(13865)
    • ORA-01830问题的解决(12188)
    • 用P3P header解决iframe跨域访问cookie(11986)
    • ORA-06531: 引用未初始化的收集 的问题解决(11867)
      评论排行
    • PLSQL DEVELOPER中好用的textType插件(23)
    • apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80(10)
    • 使用JMX搭建WebLogic9监控软件(二)(5)
    • 转换CLOB字段类型为VARCHAR2(5)
    • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决(5)
    • Mondrian系列(一)-Mondrian的四层架构(5)
    • JExcelAPI读写excel文件的例子。支持excel2003文件格式。(4)
    • 在父窗口操作iframe中的对象(4)
    • Mondrian系列(五)-深入维度、层次和级别(3)-Level显示和多层次结构(4)
    • 能吃的宝宝(4)
      推荐文章
      • *Android自定义ViewGroup打造各种风格的SlidingMenu
      • * Android 6.0 运行时权限处理完全解析
      • * 数据库性能优化之SQL语句优化
      • *Animation动画详解(七)——ObjectAnimator基本使用
      • * Chromium网页URL加载过程分析
      • * JavaScript “跑马灯”抽奖活动代码解析与优化(一)
      最新评论
    • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

      as763190097: 怎么我的加上这句话,还是不行?response.reset();sendMsg(request,re...

    • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

      l_w0510: O(∩_∩)O谢谢

    • PLSQL DEVELOPER中好用的textType插件

      leavin_q: 求 [email protected]

    • 给所有选择DB2作为cognos的content store受困扰的朋友们

      qq_30303901: 在哪里开始创建数据库呢?不懂 用 控制中心或命令行创建怎么创建~~~

    • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

      qq_28343753: 赞,SUPER赞

    • No persistence units parsed from {classpath*:META-INF/persistence.xml}问题解决

      u010799162: 还是不行啊

    • 你的组织为自动化测试做好准备了吗?

      huan_128: 值得学习,真是好东西

    • ORA-02064: 不支持分布式操作

      张雨露: 解决的方法呢?

    • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

      u012367513: 完美解决我的问题,赞

    • mmseg4j 1.9.1 + Solr 4.7.0 报错

      u013082133: 的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

      老婆
      • 老婆的链接 (RSS)
      朋友的blog
      • redbean的MSN空间
      • eygle老大的网站 (RSS)
      • DBA吧(目前已经关闭了,留个纪念吧)
      • bea论坛(目前已经关闭,留个纪念吧)
      • 非常好Oracle产品站
      • WebLogic爱好者网站,非常推荐
      • 我的独立blog

你可能感兴趣的:(sql,数据库,xml,schema,Integer,hierarchy)