多维数据集是一种特殊的数据库,按照默认的模式(MOLAP),它把数据仓库里事实表和维度表的数据经过聚合存储在另外一套独立的文件系统中。经过聚合的数据在统计性能上会得到提升,并且可以让用户通过很简单的前端工具,比如Excel来生成很简单的报表。
这里将介绍如何制作一个简单的多维数据集。
此篇使用的版本是SQL Server 2012,对应的Visual Studio Shell是2010,名称也改为SQL Data Tools。
首先,打开SQL Data Tools,点击File->New->Project…
接下来会打开新建项目窗口。这个界面可能对于很多c#开发人员再数据不过,这里可以告诉你,SQL Server BI下很多项目都是在这下面建立的,比如,数据集成项目,它主要负责BI项目中的ETL过程(数据的清洗转换和加载),还有报表服务项目,很多BI项目的报表都是通过这个项目模版实现的。自从微软.net战略之后,很多开发基本都是在Visual Studio进行的。这里就是一个具体的体现。
在左面项目模版中选择Analysis Services,然后选择Analysis Services Multidimensional and Data Mining Project。
在这里我们可以看到在最新的版本中还提供了另外一种分析服务项目模版,就是Analysis Services Tabular Project,关于这个新特性,可以参考我的另外一篇随笔:
使用SQL Server Analysis Services Tabular Model建立分析模型
Tabular Model的最终产出结果跟多维数据集差不多,只不过它更面向于业务人员和开发人员之间的用户,而本文提及的多维数据集是定位在开发人员之上的。
另外,留意一下项目类型的Data Mining,意思就是在这个项目下,也可以建立数据挖掘项目,关于如何玩转这个功能,请参考我的另外一篇随笔:
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能
接下来,我们看一下项目的结构:
可以看到项目包含几个文件夹。
第一个是数据源,这里定义SSAS数据库要连接的是哪个数据源,通常来说就是数据仓库所在的位置。
第二个是数据源视图,里面定义了多维数据集需要的各种表,事实表和维度表。
Cubes里面定义数据立方体,也就是我们所说的多维数据集。
Dimensions文件夹里定义了维度,这里可以理解为维度的一个抽象,比如时间维度,在具体的一个立方体里可能对应的就是比如"开始时间"或者"结束时间"这样的泛化维度。
挖掘结构,里面是跟数据挖掘相关的。
角色,里面定义多维数据库的安全信息。
了解完以上项目里的文件夹后,下面开始一步一步建立一个简单的多维数据集。
首先,右键Data Sources文件夹,点击New Data Source…。