Schema
Schema
定义了一个多维数据库。包含了一个逻辑模型,而这个逻辑模型的目的是为了书写
MDX
语言的查询语句。这个逻辑模型实际上提供了这几个概念:
Cubes
(立方体)、维度(
Dimensions
)、层次(
Hierarchies
)、级别(
Levels
)、和成员(
Members
)。而一个
schema
文件就是编辑这个
schema
的一个
xml
文件。在这个文件中形成逻辑模型和数据库物理模型的对应。
Cube
一个
Cube
是一系列维度
(Dimension)
和度量
(Measure)
的集合区域。在
Cube
中,
Dimension
和
Measure
的共同地方就是共用一个事实表。
Cube
中的有以下几个属性:
属性名
|
含义
|
name
|
Cube
的名字
|
caption
|
标题
,
在表示层显示的
|
cache
|
是否对
Cube
对应的实表用
mondrian
进行存储
,
默认为
true
|
enabled
|
是布尔型的
,
如果是被激活
,Cubes
就执行
,
否则就不予理睬,默认为
true
|
Cube
里面有一个全局的标签定义了所用的事实表的表名
Dimension
他是一个层次(
Hierarchies
)的集合
,
维度一般有其相对应的维度表
.
他的组成是由层次(
Hierarchies
)而层次(
Hierarchies
)又是有级别(
Level
)组成
.
其属性如下:
属性名
|
含义
|
name
|
Dimension
的名称
|
type
|
类型,有两个可选的类型:
StandarDimension
和
TimeDimension
,默认为
StandardDimension
|
caption
|
标题
,
在表示层显示的
|
UsagePrefix
|
加前缀
,
消除歧义
|
foreignKey
|
外键,对应事实表中的一个列,它通过
<Hierarchy>
元素中的主键属性连接起来。
|
Hierarchy
你一定要指定其中的各种关系
,
如果没有指定
,
就默认
Hierarchy
里面装的是来自立方体中的真实表
.
属性如下:
属性名
|
含义
|
name
|
Hierarchy
的名称,该值可以为空,为空时表示
Hirearchy
的名字和
Dimension
的名字相同。当一个
Dimension
有多个
Hierarchy
时,注意
name
值要唯一。
|
hasAll
|
布尔型的
,
决定是否包含全部的成员
member
|
allMemberName
|
所有成员的名字
,
也就是总的标题
,
例如:
allMemberName=
“全部产品”
|
allLevelName
|
所有级别的名字,它会覆盖其下所有的
Member
的
name
和所有的
Level
的
name
属性的值。
|
allMemberCaption
|
例如
: allMemberCaption=
“全部产品”这个是在表示层显示的内容
|
PrimaryKey
|
通过主键来确定成员,该主键指的是成员表中的主键,该主键同时要与
Dimension
里设置的
foreignKey
属性对应的字段形成外键对应关系
|
primaryKeyTable
|
如果成员表不只一个,而是多个表通过
join
关系形成的,那么就要通过这个属性来指明
join
的这些表中,哪一个与
Dimension
里设置的
foreignKey
属性形成外键关系。通过该属性来指明主表
|
caption
|
标题
,
在表示层显示的
|
defaultMember
|
|
memberReaderClass
|
设定一个成员读取器,默认情况下
Hierarchy
都是从关系型数据库里读取的,如果你的数据不在
RDBMS
里面的话,你可以通过自定义一个
member reader
来表现一个
Hierarchy
。
|
Level
级别
,
他是组成
Hierarchy
的部分。属性很多,并且是
schema
编写的关键,使用它可以构成一个结构树,
Level
的先后顺序决定了
Level
在这棵树上的的位置,最顶层的
Level
位于树的第一级,依次类推。
Level
的属性如下:
属性名
|
含义
|
name
|
名称
|
table
|
该
Level
要使用的表名
|
column
|
用上面指定的表中某一列作为该
Level
的关键字
|
nameColumn
|
用来显示的时候使用,如果不定义,那么就采用上面的
column
的值来进行显示。
|
oridinalColumn
|
定义该
Level
上的成员的显示顺序,如果不指定,那么采用
column
的值。
|
parentColumn
|
在一个有父
-
子关系的
Hierarchy
当中,当前
Level
引用的是其父成员的列名。好比是一张部门表,在一张表里表现部门的上下级关系,一个是主键,肯定还有一个字段为连接到该主键的外键的列名,这里的
parentColumn
指的就是这个列名。
|
nullParentValue
|
如果当前的
Level
是有上下级关系(设置了
parentColumn
属性),如果该
Level
又处于顶级,我们需要将顶级的数据取出来,这里指的是位于顶级的父成员的值,有些数据库不支持
null,
那么也可以使用
’0’
或
’-1’
等,这就表示顶级的成员的父
ID
为
’0’
或为
’-1’
。
|
type
|
数据类型,默认值为
string
。当然还可以是
Numeric
、
Integer
、
Boolean
、
Date
等。
|
uniqueMembers
|
该属性用于优化产生的
SQL
,如果你知道这个级别和其父级别交叉后的值或者是维度表中给定的级别所有的值是唯一的,那么就可以设置该值为
true
,否则为
false
。
|
levelType
|
该
Level
的类型,默认为
regular
(正常的),如果你在其
Dimension
属性
type
里选择了
TimeDimension
那么这里就可以选择
TimeYears
、
TimeQuarters
、
TimeMonth
、
TimeWeeds
、
TimeDays
。
|
hideMemberIf
|
在什么时候不隐藏该成员,可选的值有三个:
Never
、
IfBlankName
、
IfParentName
|
approxRowCount
|
该属性可以用来提高性能,可以通过指定一个数值以减少判断级别、层次、维度基数的时间,该属性在通过使用
XMLA
连接
Mondrian
很有用处。
|
caption
|
标题
,
在表示层显示的
|
captionColumn
|
用来显示标题的列
|
formatter
|
该属性定义了
Member.getCaption()
方法返回的动作值,这里需要是一个实现了
mondrian.olap.MemberFormatter
接口的类,用来对
Caption
地值进行格式化。
|
Join
对于一个
Hierarchy
来说,有两种方式为其指定:一种是直接通过一个
Table
标签指定;一种是通过
Join
将若干张表连接起来指定。一旦采用
Join
的话,那么就要在
Hierarchy
里的
primaryKeyTable
属性指定主表。
Measure
Measure
就是我们要计算的数值,操作的核心。它的属性如下:
属性名
|
含义
|
name
|
名称
|
aggregator
|
要采用的计算函数
|
column
|
要计算的列名
|
formatString
|
计算结果的显示格式。
|
visible
|
是否可见
|
datatype
|
数据类型,默认为
Numeric
|
formatter
|
采用类来对该
Measure
的值进行格式,具体参考
Level
的
formatter
属性。
|
caption
|
标题,用来显示时使用。
|
分享到:
相关推荐
mondrian schema 的eclipse插件 还需要安装 EMF&SDO (Eclipse官方的一个建模插件) 具体参考:http://jpivot.sourceforge.net/mondrian-schema/
Mondrian_Schema(多维分析)属性详解[定义].pdf
Mondrian schema编辑器插件1.0.2版本.zip
mondrian4 schema设计说明文档,压缩包解压后打开index.html。4版本,官网链接 https://mondrian.pentaho.com/head/documentation/schema.php,无法访问,直接用该资源即可。附3版本地址: ...
Mondrian_Schema(多维分析)属性详解
最近在学习mondiran 对于他官方上的schema 教程做了 基础的翻译,翻译的不是很好,但是应该多初学者有用,不要见笑。
最新版本的根据mondrian提供设计schema3.0的工具,方便大家设计自己的数据模型。
3. Mondrian Schema详解 3.1. Schema Schema 定义了一个多维数据库。包含了一个逻辑模型,而这个逻辑模型的目的是为了书写 MDX 语言的查询语句。这个逻辑模型实际上提供了这几个概念: Cubes (立方体)、维度( ...
Mondrian开源OLAP引擎详解Mondrian开源OLAP引擎详解Mondrian开源OLAP引擎详解Mondrian开源OLAP引擎详解Mondrian开源OLAP引擎详解
更多可以参考官方 http://mondrian.pentaho.com/documentation/xml_schema.php#Cube 这个是可视化工具,配置好jdk1.8之后,运行workbench.sh或者workbench.bat就可以把代码弹出来,配合我其他资源的foodmart.xml就...
官方mondrianschema编写指南,优化无水印版/特别版 中间红色的水印实在是太影响阅读了!
mondrian 提供的schema4.0 官网api,这个资源也是找了很久才找到
[Manning Publications] Mondrian 实战 英文版 [Manning Publications] Mondrian in Action E Book ☆ 出版信息:☆ [作者信息] William Back D Nicholas Goodman Julian Hyde [出版机构] Manning ...
该jar包用于解决Saiku配置Mondrian中Schema中文乱码问题
Mondrian lets users drive analysis 8 ■ Mondrian is a low-cost, low-risk solution 11 ■ Mondrian is fast 13 ■ Mondrian is secure 14 ■ Mondrian is based on open standards 14 1.4 Summary 15 2 Mondrian...
自已刚开始学mondrian,里面有两个文件,一个是mondrian自带的一个演示示例,是基于oracle实现的过程。还有一个是eclipse中配置mondrian源代码的过程。都是我自己总结的,原创。QQ:6855957
包含开发所需的mondrian-3.0.4.11371,编写xml的schema-workbench工具,sql文件,以及开发文档。
mondrian foodmart SQL SERVER 数据库
Mondrian 介绍 配置
本资源包括mondrian源码运行的方法,以及说明文档 还有配置过程中需要的jar包,这个配置方法是可行的,本人已经用这个配置方法成功的运行了mondrian源码!