页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

首先,建立数据仓库,在数据引擎下新建BIDemo库。

clip_image002Image RemovedImage Added

接下来建立用户表,结构如下:

clip_image004Image RemovedImage Added

此外还有产品表:

clip_image006Image RemovedImage Added

以及历史订单表和建立增量订单表,它们的结构是一样的:

clip_image008Image RemovedImage Added

为了测试方便,我们在用户表中加入一些测试数据:

clip_image010Image RemovedImage Added

然后在产品表中加入一些测试数据

clip_image012Image RemovedImage Added

至于事实表,手动加入测试数据就不现实了,所以这里写了一个程序利用随机数来灌测试数据:

clip_image014Image RemovedImage Added

这个程序的代码可以在本文中找到。生成后的数据基本如下所示:

clip_image016Image RemovedImage Added

到此,测试的数据结构以及数据就已经准备好了,相当于有了一个小型的数据仓库。

...

首先建立数据源,连接刚才建立的数据库,并且在数据源视图里定义好关系,如下图:

clip_image018Image RemovedImage Added

然后,根据此数据源视图建立多维数据集,需要注意的是,度量选择历史表,维度选择用户和产品两个表。

...

下面来看SSIS项目。在SSIS包里建立四个任务模块,类型分别如下:

clip_image020Image RemovedImage Added

前两个多维数据集处理模块是用来处理多维数据集的,数据流负责把增量事实表的数据导到历史事实表中,最后执行一个SQL任务把增量表中的数据删除。

...

(题外话:对于这个地方笔者一直也不是很理解,按理说既然是全部处理那么怎么连维度都不处理呢,还需要单拿出来)

以下是设置维度处理模块,在界面中选择维度即可。

clip_image022Image RemovedImage Added

然后是cube处理模块,如下图。

clip_image024Image RemovedImage Added

然后指定增量更新,并且配置增量更新的数据表,这里指定增量表。

clip_image026Image RemovedImage Added

多维数据集处理完成之后就可以把增量表的数据放到历史表中了,以保证第二天加入的数据都是增量数据。

...

然后是第三步的数据流模块,此部分的主要任务是将增量表的数据转移到历史表中。

clip_image028Image RemovedImage Added

最后的一个SQL任务是一个Delete或者Truncate table任务,把增量表里的数据清空。

最终的任务流程如下图:

clip_image030Image RemovedImage Added

执行包,全部成功之后应该如下图所示:

clip_image032Image RemovedImage Added

执行成功后,打开历史表,可以发现数据已经在里面了,而且增量表中的数据已经不存在了。

查询多维数据集,可以看到新的数据被聚合到其中。

clip_image034Image RemovedImage Added

通过以上透视表可以清晰的看到谁买了什么样的产品。

...