cube/立方体:
是一种有名称的度量和维度的集合。度量和维度的共同点是事实表,事实表中保存了要被计算的度量,并且包含关联维度的表。
Measure/度量
叫做Sales的Cube定义了一系列的度量,包括"Unit Sales”和"Store Sales”。
- name
- aggregator: um/count/min/max/avg和distinct-count
- datatype属性是可选的,主要说明在Mondrian的缓存中,cell值是如何表现的,以及他们如何通过XML返回用于分析。
datatype属性包括String/Integer/Numeric/Boolean/Date/Time/Timestamp,除count和distinct-count外,默认是Numeric,count和distinct-count默认为Integer。 - formatString属性也是可选的,这个属性指明在输出时的格式。
- caption属性也是可选的,度量可以设置标题属性用于返回而不使用名称,Member.getCaption()方法会返回caption。
Dimension 维度
Hierarchy 层次
level 等级
member,是由一系列特定属性值决定的包含维度的点。例如,性别层次有两个成员,M和F。或者商店维度中的名称、城市、省、国家。
hierarchy,是为了便于分析由一系列的成员所组成。例如,store层级由一系列的商店名称、城市、省和国家组成。层次可以组织成中间的子汇总,例如,对某个省的子汇总,可以统计省下面的所有城市。
level,到层次根有同样距离层次的成员的集合。
dimension,是层次的集合,在同一个事实表有不同的层次的集合。为了统一,度量也被称为特殊的维度。
维度退化
维度退化是指对于简单的维度来说,不创建自己的维表,例如,下面的事实表:
对于其中的维度支付方式,假设我们创建了一个维表,这个维表几乎是没有意义的。如果单独增加了这样一个维表,那么可能会导致一定的连接成本。
Order(set,expression,ASC | DESC | BASC | BDESC)
ASC/DESC 保持层次的前提下排序
BASC/BDESC 打破层次(或者忽略了层次)