Mondrian+JPivot流程简介(转)

JPivot+Mondrian 典型的开发流程及模式:

1 数据库结构定义成 Schema

schema 元模型包括维度( Dimensions )、层次( Hierarchies )、级别( Levels )、和成员( Members )等。 Mondrian 要根据它来从关系数据库中聚合数据响应 MDX 语法的查询。可以说 Schema 文件是 Jpivot+Mondrian 架构应用中最核心,最关键的文件。 PAS JPivot+Mondrian Demo /WebRoot/Web-Inf/pasmondrian.xml 文件就是基于 XML 的,用于映射 OLAP 的数据库结构,以供 Mondrian 服务器响应 MDX 语句查询的 Schema 元模型文件。 Schema 元模型的定义文件较复杂。幸运的是有开源工具 CubeDesigner 可以帮我们生成该文件,虽然该工具刚推出不久,并不成熟、稳定,还有许多 BUG 存在,但它至少可以生成一个大致的文件框架,可以大大减轻工作量。

基于 XML Schema 元模型定义文件的主要元素及其相关属性,可参考 Mondrian 文档。

2 编写 MDX 查询语句

       Demo /WebRoot/Web-Inf/queries/pasmondrian.jsp 文件中,使用 JPivot <jp:mondrianQuery> 标签定义一个 MDX 查询语句,代码如下:

                     < jp:mondrianQuery id = "query01" jdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver"

               jdbcUrl = "jdbc:odbc:jmpas"

               jdbcUser = "sa"

               jdbcPassword = "sa"

               catalogUri = "/WEB-INF/pasmondrian.xml" >

select {[Measures].[zbz]} ON COLUMNS,{([jgmc].[All jgmc],[zbmc].[All zbmc])} ON ROWS from pas

where [tjrq.tjrq].[All tjrq]

</ jp:mondrianQuery >

<jp:mondrianQuery> 标签及其属性,可参考 JPivot 文档。

3 编写 OLAP 展现页面

       Demo /WebRoot/pasmondrian.jsp 利用 JPivot WCF 一系列 JSP 标签展现 Mondrian 服务器返回的 OLAP 数据集。

具体代码参见 DEMO 相关文件; JPivot WCF 标签用法参考相关文档。

4 程序典型流程

       1 、用户发出 pasmodrian.jsp?query= pasmodrian 的请求

2 pasmodrian.jsp 上的< wcf:include >根据 query 参数,匹配 /WEB-INF/query/ 下的 pasmodrian.jsp 来获取数据
3
pasmodrian.jsp 上的< jp:mondrianQuery id="query01" >查询数据,放入到 query01 变量中
4
pasmodrian.jsp 上的< jp:table id="table01" query="#{query01}"/ >根据 query01 的结果(领域数据)准备显示 OLAP 表格所需的数据(显示数据)
5
pasmodrian.jsp 上的< wcf:render ref="table01" xslUri="/WEB-INF/jpivot/table/mdxtable.xsl"/ >根据 table01 的结果,使用 xsl ,渲染出 OLAP 表格。
6
,循环第 4 5 步,使用< jp:navigator >等 tag 准备 navigator,chart 的数据然后用< wcf >渲染出图表和导航系统 .
整个流程,第 2 步的 pasmodrian 充当 Controller 调用第 3 步的 Model 层,然后第 4 5 步执行从领域数据 ( 比如一些 java bean) 中转换出格式整齐的,需要显示的数据 ( 比如一段 xml) ,再用 xsl 将其渲染为最终的表现形式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值