上一篇咱们已经完成全部的准备工做,如今咱们就开始动手,经过接下来的三篇文章建立第一个多维数据集。 html
传统的维度和多维数据集设计方法主要是基于现有的单源数据集。 数据库
在现实世界中,当开发商业智能应用程序时,极可能须要处理多个关系数据源。 服务器
咱们能够经过建立一个DSV提供一个整合的单源视图,其中仅包括你定义的一个或多个数据源中感兴趣的数据。数据源和数据源视图构成了后面要介绍的维度和多维数据集等结构的基础。 ide
AS2012 支持的主要关系数据源包括SQL SERVER, Oracle, DB2,Teradata等。 工具
对于某种特定的数据源,可能须要安装数据提供程序的其余客户端组件,以即可以在计算机上使用适用于该特定数据源的OLE DB提供程序或.NET提供程序。 学习
这些客户端组件应该不只能够在使用SSDT设计数据库的开发计算机上使用,还必须能够在运行AS实例的服务器计算机上使用。 spa
另外,建立数据源时还能够经过Connection Manager对话框指定其余链接属性,例如链接查询超时、隔离级别以及最大链接数等。 设计
本篇咱们先准备好多维数据集要使用的数据源,为后续建立多维数据集打下基础。 3d
紧接着上篇文章,咱们打开SSDT后,按照以下步骤进行。 code
1. 主菜单中, File à New à Project
2. 选择 Analysis Services Multidimensional and Data Mining Project 模板
3. 输入ASMultidimensionalPOC名称,点击OK建立此项目。
SSDT环境包括多个工具窗口,须要重点关注 Solution Explorer, Properties, Output 窗口。
其中Solution Explorer 窗口须要说明下。
包括8个文件夹:
说明:
每一个维度包含一个或多个层次结构。存在两种类型的层次结构:特性层次结构和用户层次结构。
约定:后面特性层次结构被称为特性,用户层次结构被称为层次结构。特性对应于维度表中的列,而层次结构是经过组合若干相关特性(列)构成的。例如, 绝大多数数据集都具备Time维度。一般状况下,Time维度包含Year、Month、Date和Day特性,以及一个Year – Month – Date 层次结构。
使用微软示例数据库AdventureWorksDW2012为数据源,下载地址
http://msftdbprodsamples.codeplex.com/downloads/get/165405
下载完直接附加一下就能够了。
建立顺序基本按照Solution Explorer 窗口里面文件夹的顺序
右键 Data Sources à New Data Source…
新建一个源,参考下图进行填写。(注意选中Save my password)
指向咱们事先准备的AdventureWorksDW2012, 点击Test Connection经过后点击OK
能够看到新建的数据源,继续点击 Next
选择 Use a specific Windows user name and password选项,输入对AdventureWorksDW数据库具备访问权限的帐户凭证,单击 Next
最后一个页面,能够更改Data source name,咱们使用默认名称, 点击Finish就完成了数据源的建立。
DSV提供了在OLAP数据库中使用的表的逻辑视图。DSV能够包含来自一个或多个数据源的表和视图。由于多维数据集和维度是从DSV建立的,而不是直接从数据源对象建立的,咱们须要在AS数据库中建立DSV.
步骤:
右键 Data Source Views à New Data Source View…
点击 Next进入下一步
选择以前咱们建立的数据源,下一步。
从左边Available objects选择须要的表移至右边 Included objects中。
下一步
使用默认提供的名字,点击Finish完成DSV的建立。
完成建立后会自动打开DSV.
DSV设计器包含三个窗格: Diagram Organizer, Tables, Diagram View.
能够经过在DSV设计器中添加、删除以及修改表和视图来对DSV进行更改。
下面咱们分别介绍这三个窗格:
最右侧是 Diagram View 窗格。
Diagram View显示表及其关系的图形表示形式。显示的每一个表都包含相应的列及是否有主外键标志的指示。表之间关系是经过链接两个表的线条表示的, 小钥匙表示主键列。链接线显示表之间的关系。若是双击某个链接线,能够找到用于构成该关系的联接的每一个表的列。
若要查看DSV所指定的数据样本,右击表,选择Explore Data, 默认查询前5000行。经过单击Sampling Options更改检索的行数。
左上是Diagram Organizer(关系图组织程序) 。对关系图中的表所作的操做会实时反映在整个DSV中。默认状况下,有一个称为All Tables的关系图会包含DSV中的全部对象。
左下是Tables窗格,其中显示DSV中全部表的树视图,以及这些表及其余表的关系。
能够看到,主键是CurrencyKey
展开Relationships文件夹,DimCurrency经过CurrencyKey列联接到两个Fact表
右键Relationships à FactInternetSales(using CurrencyKey),选择Edit Relationship… 能够看到主外键关系
关于数据源视图的一些经常使用功能(针对三个窗格进行操做)须要掌握:
若是一开始表没有添加彻底或须要删除一些表, 能够右击 Diagram View 窗格, 选择Add/Remove Tables 能够进行修改。
DSV向导能够提取在基础关系数据库中指定的主键和关系,并将它们添加到DSV中。可是,你使用的某些OLTP数据可能并无为相关表指定主键和关系。
DSV设计器提供了针对没有定义主键的表指定逻辑主键的功能。经过这种方式,能够高效的修改DSV中表之间的关系,或者在表之间添加新的关系。
若要为某个表设立逻辑主键,有两种方式
1. 在表中选择要指定为逻辑主键的一列或多列,右击并选择Set Logical Primary Key
2. 能够经过拖拽的方式设立主外键关系。(起点为外键, 目标是主键)
当现有物理表不能知足咱们要求时,能够直接在DSV 设计器中经过SQL语句查询已有的表,产生自定义表。
以下图,在DSV设计器的关系图窗格中右击,选择 New Named Query,直接用一个SQL查询建立新表。
例如,员工的首名、中间名和姓氏建立一个包含该员工全名的列。
能够直接右击Employee,而后选择New Named Calculation
DSV在AS数据库的元数据中维护命名计算定义;不会将定义写到基础表中。
数据仓库设计由一个或多个事实表以及关联的维度表构成。
小型数据仓库一般包含10~20个表, 而较大的数据仓库可能会包含一百多个表。
DSV中包含很是多的表确定会在必定程度上增长导航和使用的复杂性。
能够按照主题新建一些自定义的视图以方便使用。
以下图方框处默认会建立一个<All Tables>关系图,你能够增长其余的,如HR主题,财务主题等。
若要建立新的关系图,请执行如下操做:
1.右击Diagram Organizer窗格,而后选择New Diagram
2.将新的关系图命名为Internet Sales
3.右击Diagram窗格并选择Show Tables,选择须要包含的表。
4.选择FactInternetSales表,单击OK
5.右击刚刚添加的表的标题,而后选择Show Related Tables.
上述操做能够得到一个包含FactInternetSales事实表以及相关维度表的关系图。
若是不想看到某个关系图中的某个特定表,能够右击该表并选择Hide
若是要添加单个表,也能够直接从左下Tables窗格拖拽到Diagram窗格。
AS项目中每一个对象(表,视图,列和关系)都具备特定的属性。
这些属性就不一一讲述了,你们能够本身打开看看。
有几个简单提一下。
1. 普通列有Length属性,仅适用于字符串数据类型,其余数据类型均为 -1.
2. 不能更改的属性,显示为灰色(只读属性)
3. 能够更改FriendlyName属性,DSV关系图视图中右击,经过选择Show FriendlyName选项在用户友好名称和原始列名称直接切换。
4. 命名计算列不包含FriendlyName属性。
5. 表属性中TableType显示基础数据源时表仍是视图。
如今,你已经成功使用SSDT建立了一个DSV,可使用这些表来构建多维数据集和维度,后续将会围绕这个例子继续进行扩展。
另外说明一下,咱们示例中DSV的表都来自于一个数据源,DSV设计器能够在单个DSV中包含来自多个数据源的表。
新增不一样源表的步骤相似,只须要将咱们提到的步骤稍加组合,简单说明一下:
首先, 使用数据源向导定义涉及的各个表的数据源。
完成该操做后,能够建立一个DSV, 并在其中包含来自上述数据源之一的表。
这第一个数据源被称为主要数据源,要求必须是SQL Server数据源。
而后,在DSV设计器中能够选择其余数据源来添加表(经过Add/Remove Tables)
欢迎你们多多评论与支持, 祝学习进步:)
相关文章列表: