数据仓库研究之三--JPivot入门

原创 2006年06月25日 10:20:00

 

  上一篇文章研究了用Mondrian研究和提取数据,现在要研究如何展现数据了。

  先从最基础的JPivot开始,JPivot可以说是Mondrian的姊妹项目,是基于Java的数据仓库表现层工具。这个项目的主页在http://jpivot.sourceforge.net/,那里除了JPvoit之外,还有一个比较有用的东西,据说是Mondrian的EClipse插件,上一篇文章中我是手工撰写schema的,这个插件应该有类似MS的图形化设计界面吧,以后再研究这个插件吧,言归正传,今天研究的主题是JPivot。

  首先注意到两个要点:

  JPivot 使用 WCF (Web Component Framework)  ,基于XML/XSLT来渲染Web UI组件。

  JPivot是完全基于taglib的。

 

  1. 寻找突破口

从哪里开始呢,当然是先从demo入手了,在浏览器里面打开demo,点击其中的例子,发现他们指向的链接是

http://localhost/mondrian/testpage.jsp?query=mondiran

http://localhost/mondrian/testpage.jsp?query=xmla

http://localhost/mondrian/testpage.jsp?query=fourthier

这下比较清楚目标了,先研究一下testpage.jsp吧。

 

2. testpage.jsp研究

在testpage.jsp中,比较重要的一段是

<%-- include query and title, so this jsp may be used with different queries --%>
<wcf:include id="include01" httpParam="query" prefix="/WEB-INF/queries/" suffix=".jsp"/>
<c:if test="${query01 == null}">
  <jsp:forward page="/index.jsp"/>
</c:if>

<%-- define table, navigator and forms --%>
<jp:table id="table01" query="#{query01}"/>

其中<wcf:include id="include01" httpParam="query" prefix="/WEB-INF/queries/" suffix=".jsp"/>取得参数query的值,并且匹配位置在/WEB-INF/queries/,扩展名是jsp的文件。

另一句<jp:table id="table01" query="#{query01}"/>指明了query的名称是query01。

注意这两个query是不一样的,wcf的query是http的参数名称叫做query,而jp的query是mondrian的query对象。

在testpage.jsp的后面还定义了form,navigator,chart等等,这里先不做深入研究了。

 

2.mondrian.jsp研究

下面看看testpage.jsp用到的mondrian.jsp,打开/WEB-INF/queries/mondrian.jsp,哈哈,真是似曾相识啊。这里定义了mondrian的query,它的id是query01,还有jdbc的相关信息。以及这个query对应的mdx查询select语句。

再打开xmla.jsp发现也是同样的结构,这样就比较清楚了。下面就可以依葫芦画瓢,进行我们的测试了。

 

3.测试

首先写一个mondriantest.jsp放在/WEB-INF/queries目录

<%@ page session="true" contentType="text/html; charset=ISO-8859-1" %>
<%@ taglib uri="http://www.tonbeller.com/jpivot" prefix="jp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost/mondrian" catalogUri="/WEB-INF/queries/mondriantest.xml"
   jdbcUser="root" jdbcPassword="" connectionPooling="false">

select {[Measures].[Salary]} ON COLUMNS, {[Employee].[employeeId].Members} ON ROWS from CubeTest

</jp:mondrianQuery>

<c:set var="title01" scope="session">Test Query uses Mondrian OLAP</c:set>

这里用到的mondriantest.xml就是上一篇文章中写的那个。

然后在浏览器地址栏输入http://localhost/mondrian/testpage.jsp?query=mondriantest,大功告成,看到我们期望的画面了。

结果图示

 



 

相关文章推荐

使用mondrian3.5 + jpvoit1.8 搭建web应用 记录

eclipse配置mondrian3.5 + jpvoit1.8  服务器jettty8: 启动报错java.lang.ClassNotFoundException: mondria...

部署mondrian+Jpviot遇见的问题,jsp用标签<jp:xmlaQuery>做xmla访问查询报错如下,正文详细内容

部署mondrian+Jpviot遇见的问题,jsp用标签做xmla访问查询报错

MDX查询异常

MDX查询异常

数据仓库---JPivot连接MySQL VS PostgreSQL

JPivot是一个基于mondrian(OLAP分析服务)的可钻取web报表展示标签,形成了整套的较方便的数据仓库主题web展现工具。话说JPivot已经很久没有更新了,作为小规模的应用,试试可以,但...
  • hugolyl
  • hugolyl
  • 2016年02月18日 11:40
  • 1148

数据仓库在电信业中的应用研究

  • 2013年09月11日 11:24
  • 146KB
  • 下载

基于关系数据库的数据仓库星形模式下维使用原则的研究与探索

本文发表于中文核心刊物《计算机工程与设计》2005年1期。     基于关系数据库的数据仓库星形模式下维使用原则的研究与探索                                  ...

基于大数据平台构建数据仓库的研究与实践

基于大数据平台构建数据仓库的研究与实践 Original 2017-05-26 赵毅 中国金融电脑 中国金融电脑 中国金融电脑 WeChat ID Fcc198905 Intro 中国...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据仓库研究之三--JPivot入门
举报原因:
原因补充:

(最多只允许输入30个字)