欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mondrian+JPivot流程简介(转) 博客分类: mondrian mondrian 

程序员文章站 2024-03-14 08:04:28
...

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 将其渲染为最终的表现形式。

相关标签: mondrian