Mondrian系列(五)-深入维度、层次和级别(4)-维度退化和内联表

1.维度退化

维度退化是指对于简单的维度来说,不创建自己的维表,例如,下面的事实表:

product_id time_id payment_method customer_id store_id item_count dollars
55 20040106 Credit 123 22 3 $3.54
78 20040106 Cash 89 22 1 $20.00
199 20040107 ATM 3 22 2 $2.99
55 20040106 Cash 122 22 1 $1.18

对于其中的维度支付方式,假设我们创建了一个维表,这个维表几乎是没有意义的。如果单独增加了这样一个维表,那么可能会导致一定的连接成本。(对于这个问题,我持有不同的看法,例如当这个维度是可被复用时,则这个维表是有意义的)

可以创建一个退化维度,声明一个不包括表的维度,mondrian会假设列来自事实表。看下面的例子:


   
   

       
           
           
       
   
   

在上面的实例中,因为没有join,Dimension维度的foreignKey属性不需要设置,Hierarchy元素没有

2.内联表

构造允许你在schema文件中定义数据集。必须声明列的名字,列的类型,以及一系列的行。作为

子元素或primaryKey属性。
,必须提供唯一的别名指向数据集。如下面的例子:


   
       
           
               
               
           
           
               
                    1
                    High
               
               
                    2
                    Medium
               
               
                    2
                    Low
               
           
       
       
   

这和你的数据库中有下面的表是一样的效果。

id desc
1 High
2 Medium
3 Low

要指定某个列NULL值,对那个列忽略 ,列的值默认为空。

3.估计Level的势

元素允许指定可选的参数 "approxRowCount",指定这个参数可以改善性能,通过减少需要决定的level,层次和维度的势。通过连接到XMLA的Mondrian,可能会产生较大的影响。

0
0
猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
快速回复 TOP
    个人资料
    Mondrian系列(五)-深入维度、层次和级别(4)-维度退化和内联表_第1张图片
    wonder4
    • 访问:1213631次
    • 积分:15030
    • 等级:
    • 排名:第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中锁定行的查找方法(186613)
  • KK音标和国际音标的对照(17896)
  • ORA-01830问题的解决(16956)
  • apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80(16433)
  • FICA是什么(15909)
  • 转换CLOB字段类型为VARCHAR2(14466)
  • ORA-02068: 以下严重错误源于 TO_XXXX.DW ORA-03135: 连接失去联系 问题的解决(13858)
  • ORA-01830问题的解决(12186)
  • 用P3P header解决iframe跨域访问cookie(11982)
  • ORA-06531: 引用未初始化的收集 的问题解决(11860)
    评论排行
  • 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中AsyncTask的工作原理
    • * python绘制非常漂亮的图表
    • * 数据库性能优化之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

你可能感兴趣的:(Mondrian系列(五)-深入维度、层次和级别(4)-维度退化和内联表)