...
Smartbi的数据模型实现将所有查询结果归集后,基于CUBE模型重新构建数据结构:以“维度”和“度量”进行构建,同时增加了“成员”和“命名集”的定义,实现了数据模型构建的灵活性及应用广泛性。
Smartbi的数据模型基于成熟的建模理论和方法,总体而言主要体现在两方面:模型架构和模型表关系。Smartbi的数据模型基于成熟的建模理论和方法,总体而言主要体现在两方面:模型架构和模型表关系。
事实数据表
事实数据表用于存储累积的行,这些行表示观察结果或记录特定业务活动的事件。 例如,销售事实数据表中存储的事件可以是销售订单和订单行。 也可以使用事实数据表记录存货变动、存货结余或每日汇率。 事实数据表通常包含大量的行。 随着时间的推移,事实数据表行将累积。 在分析查询(将在此模块的后续部分对它进行定义)中,通过汇总事实数据表数据来生成值,如销售额和数量。
维度表
维度表描述业务实体,这些实体通常表示人员、地点、产品或概念。 日期维度表是常见的概念维度表示例,此表会针对每个日期包含一个行。 借助维度表中的列,可以对事实数据表数据进行筛选和分组。
每个维度表都必须具有一个唯一列,此列称为键列。 唯一列不包含重复的值,并且任何情况下都不会有缺失的值。 在产品维度表中,此列可能命名为“ProductKey”或“ProductID”。 其他列可能会存储描述性的值,如产品名称、子类别、类别、颜色等。 在分析查询中,这些列用于对数据进行筛选和分组。
比较事实数据表和维度表
下图比较了事实数据表和维度表的特征。
特征 | 维度表 | 事实数据表 |
---|---|---|
模型用途 | 存储业务实体 | 存储事件或观察结果 |
表结构 | 包含一个键列和用于进行筛选和分组的描述性列 | 包括维度键列和可以汇总的数值度量值列 |
数据卷 | 通常包含的行较少(相对于事实数据表) | 可以包含大量行 |
查询用途 | 用于筛选和分组 | 用于汇总 |
2 模型架构
数据模型是围绕事实表和维度表的关系而进行模型的构建:
...