先从最基础的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
,大功告成
分享到:
相关推荐
Jpivot是基于Java的开源OLAP工具,它提供了丰富的功能,如动态维度构建、实时数据分析、灵活的数据透视表以及图表展示。Jpivot 1.8.0是该软件的一个版本,可能包含了一些改进和新特性,比如性能优化、错误修复或新的...
模型层处理数据的获取和解析,视图层负责展示数据,控制器则协调两者之间的交互。 在JPivot的基本操作流程中,首先要配置Mondrian XMLA连接。Mondrian是一个基于内存的OLAP服务器,它能解析多维数据集的元数据,如...
《jpivot-1.8.jar:开启数据透视与分析的新篇章》 在信息化时代,数据已经成为企业决策的重要依据。为了高效地处理和分析大量数据,工具的选择至关重要。jpivot是这样一款开源的数据分析组件,其核心是jpivot-1.8....
- `table`:创建表格展示数据。 - `tabletestQuery`:用于测试的查询标签。 - `xmlaQuery`:执行XMLA查询。 每种标签都有其特定的属性和用法,它们共同构成了JPivot强大的OLAP展示功能。在实际开发中,根据需求...
JPivot是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP导航,如下钻,切片和方块。...JPivot在元数据缓存方面的过于简化的整体性初始化装载的做法将限制它只能处理很小的立方体(Cube)
它利用Mondrian OLAP服务器来处理多维数据集,并提供了丰富的API以及前端组件来展示和操作这些数据集。 在集成jpivot到现有的应用中,你需要确保以下文件夹结构被正确放置: - `/wcf/**`:此目录包含了WCF相关的...
开发者可能会学习到如何配置和自定义这些标签,以适应特定的数据展示需求,比如如何通过标签实现数据筛选、排序和聚合功能。 **2、JPivot框架详解** 这可能涵盖了JPivot框架的架构设计、工作原理和核心组件。开发者...
Jpivot是一款基于Java Swing的多维数据分析和报表展示工具,常用于企业级的数据仓库和商务智能应用。 Jpivot的主要特点包括: 1. **多维数据处理**:Jpivot支持OLAP(在线分析处理)操作,能够对多维数据集进行...
jpivot1.8帮助文档,为方便大家携带特转换为chm格式的
集成Jpivot和定义Mondrian Schema是构建多维数据分析的关键步骤,理解这些概念和操作有助于更好地利用Jpivot展示和探索复杂的数据集。通过定制Schema和调整Jpivot配置,你可以创建出满足特定需求的数据分析界面,...
如何将Mondrian+jpivot用于web项目
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.zip 可以发布war应用程序,并结合src源代码,研究下mondrian+jpivot实现框架
Jpivot是一个基于Java的开源库,它提供了灵活的数据透视表和图表功能,支持用户通过MDX查询与多维数据集进行交互。在Jpivot中,`clickable`标签允许用户为特定的单元格或区域设置点击事件,通常用于实现数据钻取或...
1. jpivot加入其它应用中 解压jpivot.war 文件,在你的应用当中你需要下面的这些文件: /wcf/** /jpivot/** /WEB-INF/wcf/** /WEB-INF/jpivot/** /WEB-INF/lib/** 最后你还需要对比 jpivot.war 里的 web.xml ...
本文将详细介绍Mondrian这一开源OLAP引擎在web项目中的应用,并深入解析其架构、工作原理以及如何将其无缝集成到Java Web项目中,特别是通过JPivot这一表现层组件展示多维数据分析结果。 Mondrian:开源OLAP引擎的...
在Pentaho BI环境中,Mondrian通过XMLA(XML for Analysis)协议与各种前端展示工具进行交互,使得用户能够进行复杂的业务分析和数据探索。 本文主要探讨的是在Pentaho Mondrian基础上的几种多维数据展示方案,对于...
它允许用户以自定义的JSP标签库形式展示多维数据。 - **维度层(Dimensional Layer)**:这一层负责解析、验证MDX查询,并分批将请求传递给集合层。维度层包含查询转换器,优化查询性能,避免频繁的数据库交互。 - *...