成员
- dimension 的 member是某个level的具体值
模型
-
物理模型
fact table , dimension table , aggregate table
-
逻辑模型
cube, measure, dimension
MDX
- mdx和sql的区别
1.1 []用于dimension name,level name,member
1.2 where指定切片,对没有在轴上出现的dimension进行限定
1.3 没有group by,隐形的进行分组(?)
1.4 没有order by,有排序函数,针对某个轴
轴 axis
-
别名
axis(0)....axis(4) 对应的别名为columns,rows,pages,chapters,sections
使用别名不能跳过
-
轴和维度
如果多余两个轴,没有办法在平面上表示.
如果一个轴多余一个维度,需要把多个维度交叉(crossjoin or *)后放到轴上.
切片维度
-
切片维度和轴维度(hive中也有切片的概念)
切片维度是出现在where语句中的维度,轴维度是出现在select中的维度
一个维度不能既是轴维度上,又是切片维度.
1.1 默认成员
如果一个维度既不是轴维度,又不是切片维度,就会用该维度的默认成员进行切片.
一般维度的默认成员是[All ****],因为默认对这个维度的所有成员数据进行聚集操作.
函数defaultMember返回维度的默认成员.
如果没有All成员,默认成员就是第一个成员.
-
切片维度 认为是对cude从某个方向进行切片得到了一个子立方体.
元组和集合
-
元组和集合是mdx的两种数据类型,也是mdx语句的构件
2. 元组
元组是一个或多个dimension的member的组合.单个member可以认为是一个简单的元组.当一个元组有多个维度时,一个维度只能有一个成员,也就是只能出现一次.
有多个维度的元组,必须用小括号括起来.例如:([Customer].[Chicago, IL], [Time].[Jan, 2005])
函数
-
defaultMember
返回维度的默认成员:[Product]. defaultMember