知识库 : 普通层级维度的维表及模型的创建和使用

Edit Document

 

 

 

 

 

 

 

 

 

普通层级维度的维表及模型的创建和使用

 

 

 

作者 霍琦

目录

1.               基本概念

1.1.               普通维度

1.2.               维表

2.               在产品中的应用

2.1.               创建维表

2.2.               创建模型

2.3.               模型展现

2.4.               模型使用

 

1.     基本概念

1.1.     普通维度

维度是描述事实的角度,也即观察数据的角度。一个多维数据模型通常都包含多个维度。比如:描述企业的销售信息这样一个事实,我们就可能要用到客户维度、时间维度、产品维度、仓库维度等。

1.2.     维表

维表的来源通常都是关系数据库中的基础数据表,如上面提到的客户维度就来自关系数据库中的客户表,产品维度就来自关系数据库中的产品表等等。而这些维度表除了与事实表相关联的键属性以外还有很多其它的数据表属性。

维表与事实表之间的关系可以简单的如下图所示:

每个维表的主键都会关联事实表中的外键。

2.     在产品中的应用

2.1.     创建维表

事实表物理表如下:

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\CatchB9E7(05-26-19-13-34).jpg

维表物理表如下:

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\CatchF1F7(05-26-19-13-34).jpg

2.2.     创建模型

下图中,立方体选择的事实表是 AE_FACT_SALE ,维度 AERA 选择的维表是 AE_DIM_AREA ,维度中的外键 AREA_ID 来源于事实表。

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\CatchF5C5(05-26-19-13-34).jpg

 

下图是维度中层次的定义,层次的主键来源于维表,和上图中的外键进行关联。

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\Catch3C00(05-26-19-13-35).jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

下面三张图是关于维度中级别的设置,其中每一个维度的列和现实列来源于维表中的某个字段,国家、省、市对应的列有父子关系,这样级别也就有了相应的父子关系。

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\Catch1636(05-26-19-13-35).jpg

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\Catch7E76(05-26-19-13-35).jpg

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\Catch789C(05-26-19-13-35).jpg

2.3.     模型展现

当以上模型全部做好后,点击维度节点的【成员预览】,维度模型如下图所示

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\CatchD2B8(05-26-19-13-35).jpg

 

2.4.     模型使用

创建的多维模型主要是在透视表中使用,如下图

C:\Users\Administrator\AppData\Roaming\Foxmail7\Temp-6156-20150526084228\Catch52CC(05-26-19-13-35).jpg

可以看到,根据级别的父子关系,指标的值按照不同级别进行聚合。

Attachments:

知识库_普通层级维度的维表及模型的创建和使用.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)