Cube(多维数据集)、tuple(元组)、member(成员)
1 在OLAP服务中,cube是以多维空间的形式来呈现的,多维空间是由多个维度,也即多个轴来构成的,比如一维空间由一根轴构成,二维空间由两根轴构成,三维空间由三根轴构成,以此类推N维空间由N跟轴构成
2 在cube中,每一个维度的hierarchy【属性层次结构】都形成一个【轴】,在轴上包含了所有的普通成员和一个ALL成员,【member】
3 包含measure【度量值】的维度叫事实维度,它也是一根轴,但是没有ALL成员
4 【层次结构】分【属性层次结构】和【自定义层次结构】
5 【属性层次结构】和【度量值属性层次结构】是构成cube的基本轴。所有的基本轴构成tuple(元组),一个元组定位cube中的一个点
6 通过tuple【元组】定位的点是以cell【单元格】的形式来展现的,它包括了value和formatted_value等属性
7 对于缺省了一条或多条轴的tuple【元组】,叫partial tuple【局部元组】,但要定位cube中的一个点必须要所有的轴都参与,所以系统会对局部元组进行自动补齐,补齐上缺省的轴形成一个完整的tuple(元组)
8 在select中,当用户自定义层次结构与属性层次结构引用的是同一条轴上的不同成员时,会因为冲突而报错。而它们如果引用的是同一条轴上的同一个成员时,则不会报错,如:
select
[Measures].[In Count]on 0,
//[Date].[年-月-日].[YearNum].&[2017] on 1 //报错,因为两次引用的是同一轴上的不同点
[Date].[年-月-日].[YearNum].&[2016] on 1 //不报错,因为两次引用的是同一轴上的相同点
from
[Park]
where
[Date].[年-月-日].[YearNum].&[2016]
9 成员的引用
通过名称【name】引用:
[dimension].[hierarchy].[membername],例:[product].[category].[bike]
通过键【key】引用:
[dimension].[hierarchy].&[memberkey],例:[product].[category].&[3]
访问自定义层次结构中的成员:
[dimension].[hieraachy].[level].[membername],例:[date].[YMD].[year].[2016]
[dimension].[hieraachy].[level].[memberkey] ,例:[date].[YMD].[year].&[6]
10 通过一个tuple【元组】来定位一个cube中的点,也即cell【单元格】,用【小括号】括起来,并用【逗号】分隔,如下:
(
memberA,
memberB,
………
)