mondrian與java工程的集成
來源:程序員人生 發(fā)布時(shí)間:2015-04-07 08:33:48 閱讀次數(shù):3335次
Mondrian 是1個(gè)獨(dú)立的引擎,1般都是通過嵌入到利用的方式來使用它,只需要在類路徑加個(gè)類庫(kù)就能夠。實(shí)際上有多套 BI 解決方案都是通過集成 Mondrian 的方式來實(shí)現(xiàn)多維分析。
本文介紹編程方式連接 Mondrian,履行 MDX 查詢的方法。使用 mondrian 需要有1個(gè)數(shù)據(jù)庫(kù)的連接和多維數(shù)據(jù)的描寫文件(Schema 文件)。這個(gè)可以通過我之前的文章來了解。
http://blog.csdn.net/qzp1991/article/details/44016959
http://blog.csdn.net/qzp1991/article/details/44017161
1、先決條件:
1.jdk環(huán)境配置的完成;
2.在tomcat下完成mondrian服務(wù)器和多維數(shù)據(jù)庫(kù)的部署;
實(shí)例的搭建,在我之前的文章中有觸及
http://blog.csdn.net/qzp1991/article/details/44016959
2、java工程的建立
1.導(dǎo)入mondrian的必備包
它們位于mondrianWEB-INFlib當(dāng)中
2.導(dǎo)入連接mysql的驅(qū)動(dòng)
3.編寫相干核心代碼
package mondrian.java.api;
import java.io.PrintWriter;
import mondrian.olap.Connection;
import mondrian.olap.DriverManager;
import mondrian.olap.Query;
import mondrian.olap.Result;
public class Main {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
Connection connection = DriverManager.getConnection(
"Provider=mondrian;Jdbc=jdbc:mysql://localhost/nts_eway_ee?user=root&password=root;
Catalog=E:/apache-tomcat⑺.0.40/webapps/mondrian/WEB-INF/queries/ntsdw.xml;",null);
Query query =connection.parseQuery("select {[Measures].[nts_sample]} ON COLUMNS,
{[region.default].[AllRegion],[region.default].[江蘇], [region.default].[湖南]} ON ROWS
from [ntsdw] where [time.default].[2015].[1].[1]");
Result result = connection.execute(query);
PrintWriter pw = new PrintWriter(System.out);
result.print(pw);
pw.flush();
}
}
相干解釋
Mondrian 本身履行 mdx 查詢的接口位于 mondrian.olap 包。
Jdbc=jdbc:mysql://localhost/nts_eway_ee?user=root&password=root
表示連接
數(shù)據(jù)庫(kù)的名稱和相干用戶名及密碼
Catalog=E:/apache-tomcat⑺.0.40/webapps/mondrian/WEB-INF/queries/ntsdw.xml;
表示模式文件所在的位置
Query query =connection.parseQuery("select {[Measures].[nts_sample]} ON COLUMNS,
{[region.default].[AllRegion],[region.default].[江蘇], [region.default].[湖南]} ON ROWS
from [ntsdw] where [time.default].[2015].[1].[1]");
表示具體的MDX履行語句
result是1個(gè)MDX履行語句的返回值
其中,pw.flush();語句是必須的,否則不會(huì)輸出
點(diǎn)擊運(yùn)行,履行結(jié)果以下:

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)