...
可以理解为一张大宽表,指标、维度、属性关联在一起的一张表,如下图:
3 模型相关概念
我们在Smartbi设计数据模型架构前,需要对模型设计紧密相关的概念有清晰的认识和理解:我们在Smartbi设计数据模型架构前,需要对模型设计紧密相关的概念有清晰的认识和理解;维度建模的概念,并不是Smartbi提出来的,早在很久之前,就有维度建模的概念,相关的名称也都是已存在的。
3.1 度量值
度量通常是指数据集合中可数的数值型属性,通常用于数据的统计分析、计算和比较,例如计算平均值、最大值、最小值、合计等;在构建模型时,需要理解业务需求、上下文和目标,帮助选择合适的维度和度量,确保分析结果与业务实际情况相符合。
...
在选择集成到一个模型表中时,还可以定义一个层次结构,其中包含维度的最高和最低粒度。 冗余非规范化数据的存储可能会增加模型存储大小,尤其是在维度表很大的情况下。
3.2.2 角色扮演维度
角色扮演维度是能以不同方式筛选相关事实的维度 。 例如,在Northwind中,订单维度表与订单销售明细事实之间有三种关系:可以使用同一维度表中按订单日期、发货日期或交货日期筛选事实。
数据仓库中接受的设计方法是定义单个日期维度表。 在查询时,日期维度的“角色”是通过用于联接表的事实列建立的。 例如,在按订单日期分析销售情况时,表联接与订单日期列相关。
在Smartbi数据模型中,我们用一种常见的建模方法解决,就是为每个角色扮演实例创建维度类型表。 该模型可以包含日期表、发货日期表和交货日期表,每个表与其对应的销售表列之间都存在单一且活动的关系 。
3.2.
...
如果有多个维度,特别是包含几个属性(可能只有一种)并且这些属性的值很少时,则杂项维度非常有用 。
合适的候选项包括订单状态列或客户人口统计列(性别、年龄分组等)。
杂项维度的设计目标是将多个“小”维度合并为一个维度,以减少模型的存储大小,还可以通过呈现更少的模型表来缓解“字段”窗格的混乱情况 。
杂项维度表通常是所有维度属性成员的笛卡尔积,具有唯一标识列。 可以在数据仓库中构建维度,也可以通过使用Smartbi数据模型中的私有查询创建,并此查询作为维度类型表加载到模型中。
...
2
...
退化维度
退化维度指的是筛选所需的事实数据表的属性 。 我们的northwind中就有一个例子,就是销售订单号。 在这种情况下,创建仅包含这一列的独立表对模型设计并没有什么积极作用,因为这会增加模型的存储大小,并导致“字段”窗格混乱 。
...