mondrain完整案例_mondrian完整项目-程序员宅基地

技术标签: mondrian  不了了之  Mondrian  bi  BI  

mondrain完整案例

1.创建表格

-- sales_fact_1997表

create table sales_fact_1997
(
    product_id int,
    time_id int,
    customer_id int,
    promotion_id int,
    store_id int,
    store_sales DECIMAL(10,4),
    store_cost DECIMAL(10,4),
    unit_sale DECIMAL(10,4)
);

--product表

create table product(
    proId int,
    proName varchar(30)
);

2.添加数据


3.创建mdx语句

<?xml version="1.0"?>
<Schema name="Mondrian">
	<Cube name="CubeTest">
		<Table name="tb_salary"/>
		<Dimension name="Employee" foreignKey="employee_id">
			<Hierarchy hasAll="true" primaryKey="employee_id">
				<Table name="tb_employee"/>
				<Level name="employeeID" column="employee_id"
					uniqueMembers="true">
					<Property name="employeeName" column="employee_name"/>
				</Level>
			</Hierarchy>
		</Dimension>
		<Dimension name="Time" foreignKey="time_id">
			<Hierarchy hasAll="false" primaryKey="time_id">
				<Table name="tb_time"/>
				<Level name="year" column="the_year" uniqueMembers="false"/>
				<Level name="month" column="the_month" uniqueMembers="false"/>
			</Hierarchy>
			
		</Dimension>
		<Measure name="Salary" column="salary" aggregator="sum"/>
	</Cube>
</Schema>

4.java代码

import java.io.PrintWriter;
import mondrian.olap.Connection;
import mondrian.olap.DriverManager;
import mondrian.olap.Query;
import mondrian.olap.Result;

public void testMySqlPro() {
		System.out.println("测试MySql");
		String connectString = "Provider=mondrian;"
				+ "Jdbc=jdbc:mysql://localhost:3306/foodmart?useUnicode=true&characterEncoding=utf-8;"
				+ "Catalog=file:E:\\2012\\yhz\\test\\terzz\\src\\demo\\pro.xml;"
				+ "JdbcUser=root;JdbcPassword=root;"
				+ "JdbcDrivers=com.mysql.jdbc.Driver";
		 
		Connection connection = DriverManager.getConnection(connectString, null);
		String mdxStr = "SELECT {[Measures].[Unit Sales], [Measures].[Store cost], [Measures].[Store Sales]} ON COLUMNS"
			+ ",{[Product].members} ON ROWS  FROM [Sales]";
		Query query = connection.parseQuery(mdxStr);

		@SuppressWarnings("deprecation")
		Result result = connection.execute(query);
		result.print(new PrintWriter(System.out, true));
	}

5.查询结果如下

测试MySql
log4j:WARN No appenders could be found for logger (mondrian.olap.MondrianProperties).
log4j:WARN Please initialize the log4j system properly.
Axis #0:
{}
Axis #1:
{[Measures].[Unit Sales]}
{[Measures].[Store Cost]}
{[Measures].[Store Sales]}
Axis #2:
{[Product].[All Products]}
{[Product].[mp3]}
{[Product].[mp4]}
{[Product].[数码相机]}
{[Product].[桌子]}
{[Product].[椅子]}
{[Product].[洗衣机]}
{[Product].[电视机]}
Row #0: 78
Row #0: 7.32
Row #0: 32.12
Row #1: 
Row #1: 
Row #1: 
Row #2: 
Row #2: 
Row #2: 
Row #3: 
Row #3: 
Row #3: 
Row #4: 
Row #4: 
Row #4: 
Row #5: 
Row #5: 
Row #5: 
Row #6: 23
Row #6: 2.32
Row #6: 21.12
Row #7: 55
Row #7: 5.00
Row #7: 11.00


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/howareyoutodayyhz/article/details/8584545

智能推荐

完整版:献给初学者的Java学习方法-程序员宅基地

文章浏览阅读77次。2019独角兽企业重金招聘Python工程师标准>>> ..._java给初学者最好理解的讲义

L2D1 linux下deb包管理及常用shell命令_在debin包rules中嵌入shell命令-程序员宅基地

文章浏览阅读661次。主要是学习了linux下软件包的离线安装和在线安装方法,以及依赖修复和软件在线更新,还讲了linux基本命令和特殊命令,特殊命令主要是管道和命令置换。_在debin包rules中嵌入shell命令

魔方机器人01 kociemba安装和使用-程序员宅基地

文章浏览阅读6.3k次,点赞11次,收藏57次。等不了开学了,今天耐不住性子开始用现有资源把魔方机器人前期准备起来。本方案使用编程语言为python3.整体方案OpenCV完成图像识别并输出魔方状态字符串使用现有的kociemba包解算理论步骤将理论步骤转换为机械执行的步骤步进电机执行机械步骤大概就是这样,摸着石头过河kociemba包的使用先用anaconda搭建一下环境,安装好kociemba包。kociemba包下..._kociemba

软件项目管理 3.2.预测生存期模型_预测型生存期模型-程序员宅基地

文章浏览阅读4.4k次。软件项目管理 3.2.预测生存期模型【公众号 “项目管理研究所” 将会第一时间更新文章】 归档于软件项目管理初级学习路线第三章 生存期模型《初级学习路线合集 》前言大家好,这节我们学习预测生存期模型,预测模型是一种传统模型,项目具有高确定性和很明确的需求,项目活动通常以顺序的方式执行,没有反馈。预测型模型主要有瀑布模型和V模型。一、瀑布模型瀑布模型是最经典,最传统的模型,他严格的要求项目按照秩序来执行,单向的如同瀑布一样,只能从上往下,不能返回,编码阶段不能执行修改需求和设计。瀑布模型_预测型生存期模型

实验11-1-6 指定位置输出字符串 (20 分)_6-7 指定位置输出字符串 分数 20 作者 c课程组 单位 浙江大学 本题要求实现一个函数,对给定-程序员宅基地

文章浏览阅读1.6k次。本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include <stdio.h>#define MAXS 10char *match( char *s, char ch1, char ch2_6-7 指定位置输出字符串 分数 20 作者 c课程组 单位 浙江大学 本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。 函数接口定义: char *match( char *s, char ch1, char ch2 );

基于X5内核的UI自动化_微信x5内核 ui自动化-程序员宅基地

文章浏览阅读2k次。前言最近无论是在微信、QQ浏览器、微信小程序还是加载X5内核的页面进行UI自动化,都会遇到X5内核自动化问题,这篇进行一个问题的总结。基础介绍1、什么是X5内核?X5内核是腾讯基于优秀开源Webkit深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上,更快,更便捷。 --百度百科2、什么是webview?Webview是用来展示网页的view组件,使用web..._微信x5内核 ui自动化

随便推点

豆沙绿色值---全_豆沙绿参数-程序员宅基地

文章浏览阅读6.9k次。豆沙绿的参数为:a. RGB颜色:(199,237,204)b. 十六位颜色代码:C7EDCCc. 色调(Hue)85、饱和度(Sat)123、亮度(Lum)205------------- The End -------------许可协议: 转载请保留原文链接及作者。..._豆沙绿参数

HBase在微博搜索业务中的应用-程序员宅基地

文章浏览阅读1k次。在社交媒体平台的发展过程中,越来越多的人依赖于微博进行信息的传播、分享。不仅如此,微博作为新浪等知名门户网站的基础服务,有着独特的特性。比如,它是一个高度互联网化的信息流通工具,用户可以自由的发布或转发微博内容,并且具有大量的搜索功能。因此,为微博搜索服务提供更加高效、精准的结果,帮助用户找到想要的内容,也成为各大互联网公司关注的一个重点方向。在微博搜索服务中,通常会采用基于搜索引擎的关键词匹配方式,通过检索用户输入的关键字,返回包含相关主题信息的微博条目。

centos6安装并配置zabbix3.2_centos6配置zabbix-程序员宅基地

文章浏览阅读274次。1.安装PHPZabbix 3以后对PHP的要求最低为5.4,而CentOS6默认为5.3.3,完全不满足要求,故需要利用第三方源,将PHP升级到5.4以上,注意,不支持PHP7rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpmyum install -y php56w php56w-gd php56w-mysql php56w-bcma..._centos6配置zabbix

Sqoop常用命令及参数_sqoop参数-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏16次。目录一、常用命令列举二、命令&参数详解1、公用参数:数据库连接2、公用参数:import3、公用参数:export4、公用参数:hive5、命令&参数:import6、命令&参数:export7、命令&参数:codegen8、命令&参数:create-hive-table9、命令&参数:eval10、命令&参数:import-all-tables11、命令&参数:job12、命令&_sqoop参数

IntelliJ IDEA文件变了颜色,原来是这个原因!!_idea文件名绿色怎样改回来-程序员宅基地

文章浏览阅读3w次,点赞6次,收藏30次。前天将这些文件提交到了github,今天打开,新建文件,发现文件变了颜色(不是报错!可以编译运行),原来是这个原因!解析我上网查了一下:现在记录其实,这主要和你的版本控制工具相关绿色,已经加入控制暂未提交红色,未加入版本控制蓝色,加入,已提交,有改动白色,加入,已提交,无改动灰色:版本控制已忽略文件。图片描述如何在ide修改?些文件名的颜色都是可以修改的,颜色的意义是..._idea文件名绿色怎样改回来

pycharm报错:AttributeError: module ‘torch._C‘ has no attribute ‘_cuda_setDevice‘-程序员宅基地

文章浏览阅读3.8k次。原因:pytorch没有配置GPU/CUDA(若已经安装并配置GPU+CUDA)到pytorch官网安装适合的版本:https://pytorch.org/get-started/locally/将最底层的 Run this Command复制,到pycharm的终端运行。