Mondrian辅助组件----Schema WorkBench(架构平台简介)
Schema WorkBech 是Pentaho套件的另一个组件,是mondrian中schema文件生成工具。通过Schema WorkBench我们可以快速生成一个schema文件,不再需要手写。
Schema 定义了一个多维数据库。包含了一个逻辑模型,而这个逻辑模型的目的是为了书写 MDX 语言的查询语句。逻辑模型包括几个概念: Cubes (立方体)、维度( Dimensions )、层次( Hierarchies )、级别( Levels )、和成员( Members )。而一个 schema 文件就是编辑这个 schema 的一个 xml 文件。在这个文件中形成逻辑模型和数据库物理模型的对应。schemaworkbench 工具创建xml文件非常简单易用。
2.1 下载与配置
工作环境:Windows7、JDK1.8、Oracle11g、Schema WorkBench-3.14.0
同样是在Mondrian的官网上下载,然后直接解压缩就行。配置好JDK和环境变量
进入到文件夹中点击workbench.bat 打开程序。
点击最右侧的按钮新建一个数据库连接
然后输入连接的名称,主机名称,数据库名称,用户名,密码等信息。
点击测试,测试连接是否成功。
发现连接报错,是因为没有找到Oracle数据库的驱动包。同样是可以在其他项目中复制也可以去Oracle官网上下载这个jar包放到lib文件夹下,然后重新启动即可。
2.2 新建一个Schema文件
SchemaàCubeà Dimension(维度)à Hierarchies(层次)àLevel(jibie)à 度量(Measure)
点击最左侧的按钮会出来三个选项,点Schema 会新建一个Schema文件
然后给这个Schema取名为tse
点击保存,存在自己想要放的位置。
同时注意要将文件名改为tse.xml
再新建一个Cube,一个Cube是一系列维度(Dimension)和度量(Measure)的集合区域。在Cube中,Dimension和Measure的共同地方就是共用一个事实表。(在示例中为Sale)
可以直接点击左侧第一个带+号的按钮直接新建
也可以右键Schema点击Add cube
给这个Cube取名为Sales
在Cube节点上点击右键,增加事实表,选择相应的事实表Sale
点击工具栏最右侧编辑模式按钮可以切换查看对应的生成的XML文件。
2.3 增加维度
维度是一个层次( Hierarchies )的集合 , 维度一般有其相对应的维度表 . 他的组成是由层次( Hierarchies )而层次( Hierarchies )又是有级别( Level )组成 。
在cube上右键增加维度(Add Dimension),并命名sex保存。需要选择foreignKey,即在事实表中用于引用customer表的外键。
增加客户(性别)维度
增加对应的层次
点开sex维度里面会有一个默认的层次(Hierarchies) 我们可以直接在上面直接进行修改,或者是点击sex维度右键新增
修改层次属性
修改的层次属性的名称可以为空(当一个维度有多个层次的话,要注意name的值要唯一),同时修改allMenberName(所有成员的名字,也就是总的标题,例如:所有客户,所有商品等。),allMemberCaption(是在表示层显示的名称)以及primaryKey字段的值(维表的主键)
增加维表
在刚才建好的层次下,鼠标右键新建一个维表 customer
增加级别
级别 , 他是组成 Hierarchy 的部分。属性很多,并且是 schema 编写的关键,使用它可以构成一个结构树, Level 的先后顺序决定了 Level 在这棵树上的的位置,最顶层的 Level 位于树的第一级,依次类推
点击层次,右键Add Level
Level 的名称就是相应的列名称(此时为gender)
增加产品维度
因为维由两个表连接而成,相对于客户维有点复杂。先在Sales(Cube)上新建一个维度。输入名称和事实表中关联外键。
修改默认添加的层次信息 需要在层次节点上增加join,两个表分别为Product(产品表)和ProductType(产品类别表).所以需要在层次信息的primaryKeyTable属性中指明主表。
点开join 填好左右表信息及主表信息
增加Product级别
在维度节点上右键增加级别,填写相应属性值,级别对应的表,列、以及显示列的值、是否唯一。
增加PRODUCTTYPE级别
与上面步骤一样
2.4 添加度量
Measure(度量)是我们要计算的数值,操作的核心内容
增加销售数量度量
在cube上右键添加度量,输入字段、数据类型、计算公式。
增加总销售额度量
销售额是(unitPrice*number)表达式计算出来的不能简单设置某个列,需要在该度量上右键添加表达式
添加表达式
在generic中写Value
2.5添加计算成员类型度量
在cube上右键添加计算度量(CalculatedMember),默认增加了公式
编辑公式内容
添加 计算成员类型
2.6 添加MDX语句,测试模式文件
选择file 再选择MDX QUERY即可创建查询对话框、载入对应的Schema文件,输入如下语句,点击执行测试,没有错误显示结果。
select
{[Measures].[quan1], [Measures].[avgsell], [Measures].[totalsell]}
on columns,
{([good].[allgood], [sex].[allsex])}
on rows
from Sales
Mondrian辅助组件----Schema WorkBench(架构平台简介)的更多相关文章
- Mondrian Schema workbench工作界面 简介(实在懒得写,居然有人弄了,收藏了)
转自:http://hi.baidu.com/dinguangx/item/37e78be29aebc1adcf2d4f89 Schema Schema 定义了一个多维数据库.包含了一个逻辑模型,而这 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- 云计算平台简介(App Engine)
云计算平台简介(App Engine) 1 简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1 什么是云 云计算通常简称为“云”,是一种通过 Inter ...
- 编写轻量ajax组件01-对比webform平台上的各种实现方式
前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 基于 SOA 的组件化业务基础平台
业务基础平台是业务逻辑应用和基础架构平台之间的一个中间层,解决 “应用软件的业务描述和操作系统平台.软件基础架构平台之间的交互与管理问题”.操作系统平台解决了“应用软件系统与硬件之间的交互与管理问题” ...
- 转帖: Serverless架构模式简介
Serverless架构模式简介 原贴地址:https://blog.csdn.net/chdhust/article/details/71250099?utm_medium=referral&a ...
- 基于SOA的组件化业务基础平台[转]
转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...
- TOP100summit:【分享实录】爆炸式增长的斗鱼架构平台的演进
本篇文章内容来自2016年TOP100summit斗鱼数据平台部总监吴瑞城的案例分享. 编辑:Cynthia 吴瑞诚:斗鱼数据平台部总监 曾先后就职于淘宝.一号店. 从0到1搭建公司大数据平台.平台规 ...
随机推荐
- 生成id
package com.develop.web.util; import java.security.MessageDigest; import java.text.SimpleDateFormat; ...
- Win10问题
WIN10去除我的电脑上面的6个文件夹 把下面代码复制,保存到.reg中,然后执行即可(修改注册表文件.reg) Windows Registry Editor Version 5.00 ;如需还原去 ...
- 【Alpha】Scrum Meeting 4
目录 前言 任务分配 燃尽图 会议照片 签入记录 困难 前言 第4次会议在4月8日由PM在教一317召开. 对项目完成情况进行了确认,分配下一阶段任务.时长60min. 任务分配 姓名 当前阶段任务 ...
- 剑指offer(52)正则表达式的匹配
题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式 ...
- JS设计模式(3)代理模式
什么是代理模式? 情景:小明追女生 A 非代理模式:小明 =花=> 女生A 代理模式:小明 =花=> 让女生A的好友B帮忙 =花=> 女生A 定义:为其他对象提供一种代理以控制对这个 ...
- [CodeForces 471A] MUH and Sticks
题目链接:http://codeforces.com/problemset/problem/471/A 题目数据规模1 - 9,可以用一个数组进行计数,减掉出现四次的数,看看还有几个是非零数,有一个就 ...
- 安装完MySQL数据库设置密码
对于windows平台来说安装完MySQL数据库后,系统就已经默认生成了许可表和账户,你不需要像在Unix平台上那样执行 mysql_install_db脚本来生成帐户和相应权限许可表.但是如果不是用 ...
- GPU并行的基础知识
- Rancher2.0中部署Longhorn分布式存储实验
目录 1.简介 2.实验环境 3.应用商店中部署longhorn 4.创建工作负载,使用longhorn存储 5.查看longhorn UI 6.注意事项 1.简介: Longhorn是Rancher ...
- Python 总结一
'''形式参数不占内存,在调用时开辟内存,在函数结束时释放内存默认参数 调用方式:位置参数.关键字参数 *args (元组) **kwargs(字典) 局部变量:在子程序中使用的变量全局变量:glob ...