`
华山剑
  • 浏览: 19854 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
  • lyyf: 马马虎虎明白了点。但是,接口,搞成私有的,别的类能使用吗?
    线程安全

mondrian + jpivot 开发笔记

阅读更多

1. 按条件着色记录

 

in schema xml file:

<CalculatedMember name="useRatio" dimension="Measures">
      <Formula>
        <![CDATA[[Measures].useAmount * 100 / [Measures].[ToltalAmount]]]>
      </Formula>
      <CalculatedMemberProperty name="FORMAT_STRING" 
expression="Iif([Measures].[useRatio] &lt; 50.00, '|#,##0.00|style=red', '|#,##0.00|style=green')"/>
</CalculatedMember>
 

2. 钻取数据格式化

jpivot钻取出的数字默认精确到小数点后两位,修改wcf.jar中

com.tonbeller.wfc.format.config.xml
删除double和nandouble的定义

 

3. 展现同一张表中父子关系的记录

 

in schema xml file:

 <Dimension foreignKey="EMPLOYEE_NO" highCardinality="false" name="EMPLOYEE">
     	<Hierarchy hasAll="true" allMemberName="所有机构" primaryKey="NO">
     	        <Table name="ORG_TABLE"/>
     		<Level name="EMPLOYEE" column="NO" nameColumn="NAME"
 parentColumn="LEADER" nullParentValue="null" type="String" uniqueMembers="true">
     			<Closure parentColumn="LEADER_NO" childColumn="EMPLOYEE_NO">
          			<Table name="EMPLOYEE_CLOSURE"/>
       			</Closure>
     		</Level>
     	</Hierarchy>
    </Dimension>
 

关键的几个方面:

(1) <Level>中 parentColumn 和 nullParentValue 属性的设置,如果是父子关系的连接,属性uniqueMembers值必须为true。

 

(2) 必须在数据库中创建响应的Closure Table,并在<Level>中设置<Closure>加以关联,否则在有的情况下该列展开时会报错(mondrian实现父子关系级联查询的机制使然):

 

javax.el.ELException: Error reading 'result' on type com.tonbeller.jpivot.tags.OlapModelProxy

 

(3) 对于这种在同一张表中,记录之间有父子关系的情况,用上面这种parent-child级联 + 参考closure table的方式在大多数情况下并不是很好的解决方案,这种方案最大的弊端在于需要额外地维护一张与事实表相关的closure table,如果事实表中的记录是不变的尚可,但大多数情况下事实表的记录是会被改变的,这样就需要在closure表中随之维护成员以及成员之间的关系,这不但需要额外的开销,而且有时会很麻烦。更好的一种解决方案是使用view,当然mondrian本身并不支持view,需要所使用的数据库本身可以支持view,当今主流的关系数据库应该都是支持的,如Oracle, MySQL, SQLServer等,下面展现了一个例子

 

in schema xml file:

<!-- 单位维度,关联事实表中的UNIT_NO列 -->
<Dimension foreignKey="UNIT_NO" highCardinality="false" name="UNIT"> 
     	<Hierarchy hasAll="true" allMemberName="所有单位"
                         primaryKey="NO" primaryKeyTable="VIEW_UNIT_TWO">
     		<Join leftKey="UPPER_UNIT" rightKey="NO">
                         <!-- 关联二级分支单位的VIEW -->
     			<Table name="VIEW_UNIT_TWO"/>

                        <!-- 关联一级分支单位的VIEW -->
     			<Table name="VIEW_UNIT_ONE"/>
     		</Join>

     		<Level name="一级分支单位" table="VIEW_UNIT_ONE" column="NO" 
nameColumn="NAME" type="String" uniqueMembers="true" hideMemberIf="Never"/>

                <Level name="二级分支单位" table="VIEW_UNIT_TWO" column="NO" 
nameColumn="NAME" type="String" uniqueMembers="false" hideMemberIf="Never"/>

           </Hierarchy>
    </Dimension>
分享到:
评论

相关推荐

    如何将Mondrian+jpivot用于web项目

    如何将Mondrian+jpivot用于web项目

    Mondrian+Oracle 实例

    Mondrian+Oracle 实例,及异常分析,功能介绍,连接数据库的各种方式等

    mondrian配置例子

    mondrian配置例子,附件是openi源码例子,集成了mondrian+Jpivot。

    mondrian+jpviot完整工程源码及mysql数据

    配置好的mondrian+jpviot完整工程源码及mysql数据库测试数据

    jpivot+wcf

    解压文件后: 1.jpivot-1.8.0.zip:内有jpivot.war,mondrian-src.zip, 2.wcf-1.7.0.zip,与jpivot-1.8匹配的wcf库,内有wcf.war,wcf-src....可以发布war应用程序,并结合src源代码,研究下mondrian+jpivot实现框架

    JPivot+Mondrian资料收集汇总(1)

    JPivot设计模式和基本操作流程.HTML 网上收集汇总。

    JPivot+Mondrian资料收集汇总(2)

    1、JPivot标签使用详解 2、JPivot框架详解 3、jpivot学习总结

    mondrian xmla配置需要的jar

    jpivot + mondrian + xmla配置需要的jar, 包括 commons-discovery-0.2.jar jaxrpc.jar axis.jar wsdl4j-1.5.1.jar

    jpivot-1.8.0

    它使用Mondrian 作为其OLAP服务器。它使用WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。JPivot在元数据缓存方面的过于简化的整体性初始化装载的做法将限制它只能处理很小的立方体(Cube)

    [Mondrian] Mondrian 实战 英文版

    [Manning Publications] Mondrian 实战 英文版 [Manning Publications] Mondrian in Action E Book ☆ 出版信息:☆ [作者信息] William Back D Nicholas Goodman Julian Hyde [出版机构] Manning ...

    商业与开源BI工具对比分析

    BI工具分析报告 1. 商业化BI工具 1 1.1 商业化BI产品供应商简介 1 1.1.1 IBM 1 1.1.2 Oracle 2 1.1.3 Microsoft 2 1.1.4 BO 3 1.1.5 Hyperion 3 ...2.2.3 Mondrian&Jpivot 22 2.4竞争对手应用 24

    Mondrian用于web项目

    Mondrian用于web项目 报表开发文档

    基于ORACLE的mondrian配置

    自已刚开始学mondrian,里面有两个文件,一个是mondrian自带的一个演示示例,是基于oracle实现的过程。还有一个是eclipse中配置mondrian源代码的过程。都是我自己总结的,原创。QQ:6855957

    mondrian foodmart SQL SERVER 数据库

    mondrian foodmart SQL SERVER 数据库

    Mondrian介绍及配置.pdf

    Mondrian 介绍 配置

    Mondrian实例

    这个Java实例将利用Mondrian提供的OLAP引擎对已建立好的数据立方体XML进行MDX查询。不是网上到处都有的jPivot,而是一个更基础更轻量的例子。

    mondrian运行源码配置方法

    本资源包括mondrian源码运行的方法,以及说明文档 还有配置过程中需要的jar包,这个配置方法是可行的,本人已经用这个配置方法成功的运行了mondrian源码!

    mondrian报表技术概要

    mondrian报表技术概要,实例讲述开发过程中遇到的问题以及配置

    mondrian ROLAP MDX 经典资料

    mondrian ROLAP MDX 经典资料打包。 MDX的基本语法及概念.ppt ROLAP的概念.ppt 如何将Mondrian用于web项目.ppt MDX的基本语法及概念.ppt doc_cn jpivot

    mondrian动态报表工具

    用于和jpivot结合做动态报表的工具,有研究这个的可以+QQ大家一起讨论215759710

Global site tag (gtag.js) - Google Analytics