文档详情

OLAP与Mondrian介绍.ppt

发布:2017-12-14约8.38千字共35页下载文档
文本预览下载声明
十二、 Mondrian的体系结构 表现层 存储层 模式管理器 Mondrian的模式文件,它定义了关系数据到多维数据的映射。需要我们生成 十三、 JPivot+Mondrian典型的开发 流程及模式 一、数据库结构定义成Schema,schema元模型包括: 1.数据立方(cubes) 维和度量在一个特定主题范围内的集合。 2.维度(Dimensions) 一个维(dimension)是一个层次(hierarchy)的集合,根据事实表中的列来区别。 3.层次(Hierarchies) 层次结构(hierarchy)是为了方便分析问题而将一组member组织成的结构。 4.级别(Levels) 5.成员(Members)等。Mondrian要根据它来从关系数据库中聚合数据响应MDX语法的查询。可以说Schema文件是Jpivot+Mondrian架构应用中最核心,最关键的文件。 JPivot+Mondrian Demo的/WebRoot/Web-Inf/queries/FoodMart.xml文件就是基于XML的,用于映射OLAP的数据库结构,以供Mondrian服务器响应MDX语句查询的Schema元模型文件。如下图所示. 十三、 JPivot+Mondrian典型的开发 流程及模式 本例使用的表结构如下所示: DRUG_USE_STAT是事实表,它有两个维:药品(DRUG)维和由两个表组成的医生(DOCTOR)维。 十三、 JPivot+Mondrian典型的开发 流程及模式 基于XML的Schema元模型定义文件: 该模式的名称 数据立方的名称 该维的名称 事实表DRUG_USE_STAT中用于引用维表DRUG的外键列 维表DRUG的主键 维表DRUG在关系数据库中的名称 级别的名称(name),级别在维表DRUG中的列名称(column) 因为DOCTOR维有两个表,所以您必须在这里指定该维的主表 Join元素,用于将两个以上的表连接起来 需要指定包含该级别的表 度量的名称 该度量在事实表中的列 该度量的聚合方式 十三、 JPivot+Mondrian典型的开发 流程及模式 二、编写MDX查询语句 十三、 JPivot+Mondrian典型的开发 流程及模式 三、编写OLAP展现页面 在Demo的/WebRoot/testpage.jsp利用JPivot及WCF一系列JSP标签展现Mondrian服务器返回的OLAP数据集。 具体代码参见DEMO相关文件;JPivot及WCF标签用法参考相关文档。本例效果图: 十三、 JPivot+Mondrian典型的开发 流程及模式 四、程序典型流程 1. 用户发出 testpage.jsp?query= modrian的请求 2. testpage.jsp上的<wcf:include>根据query参数,匹配/WEB-INF/query/ 下的modrian.jsp来获取数据 。 3. modrian.jsp上的<jp:mondrianQuery id=“query01”>查询数据,放入到 query01变量中 。 4. testpage.jsp上的<jp:table id=table01 query=#{query01}/>根据 query01的结果(领域数据)准备显示OLAP表格所需的数据(显示数据) 5. testpage..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步的testpage充当Controller调用第3步的Model层,然后第4,5步执行从领域数据(比如一些java bean)中转换出格式整齐的,需要显示的数据(比如一段xml),再用xsl将其渲染为最终的表现形式。 十四、个人总结 一、优点 1.基于JSP Tag的展现层,不需要安装任何插件即可运行; 2.可以轻易集成到 web 项目中。 二、缺点 1.没有完善的帮助文档、开发手册和错误指南,遇到问题不能迅速解 决;不支持SQL直接查询,需要编写MDX语句及
显示全部
相似文档