Dimension主要分为三种:标准维度,时间维度,父子维度。Dimension的创建过程是相同的。
1由于已经创建了DataSource和DSV,可以选中“Using an Existing table”来创建dimension。
2 对于一个维度,需要设置两点:main table 和Key Columns
Main table:Main table 是跟Fact Table建立Relationship的table。dimension的其他table都和Main table有直接或间接的Relationship。
例如维度Product 有三个表构成,DimProduct,DimProductSubcategory和DimProductCategory,DimProduct是维度的Main table。
Key Columns:是Dimension的Key,可以有多个columns,在DW中,Key一般是整型的数据类型,字面含义难以阅读,对于每一个Key,一般都有一个Name column,Name Column是描述性的字符串。如果为Key Columns设置Name Column,那么在查看Dimension的Key时,SSAS自动使用Name Column代替Key Columns,显示为Name Column的字符串,便于阅读。
3 Select Related tables 就是选择跟main table 有直接或间接 Relationship的table,和Main table共同构成一个dimension。
4 select dimension attribute
Dimension attribute 是dimension 存储信息的字段,每一个Table column都可以设置成dimension attribute。虽然Dimension的数据是从Table生成的,但是只有在将column设置成为Dimension attribute之后,在dimension 中才可以看到该字段的信息,即从table column中创建dimension attribute。
Enable Browsing :启用table column的Enable browsing,将一个table column设置为dimension attribute。
Attribute type:如果创建的是标准dimension,那么Attribute Type要选择Regular;如果创建的是time dimension,那么Attribute type要选择Date。
其他的Attribute type,后续补充。。。
这是在创建维度的时候,通过选择table的Column来创建维度的属性。
注意:如果一个Table Column作为Dimension的Key Columns,那么其Name Column就不会再作为Dimension attribute,从截图中可以看出,Product Key是Key Columns,其Name Column是English Product Name,不再显示在下面的列表中,不能作为Dimension attribute。
Available attributes是构成维度的所有column组成的。
5 Dimension Attribute 共有两类,分别是:Key attribute,Regular attribute
对于每一个Dimension attribute,都有三种Columns:分别是Key columns,Name column和value column。
Key columns是dimension attribute的取值字段,可以是单列,也可以是复合列。
Name column只有一列,可以设置Dimension attribute显示为name column。
如果是父子dimension,还需要设置value attribute。
示例:下面是维度属性ProductKey 的Source 属性。
Key Columns:只有一列,是从dimproduct中的ProductKey创建的,其他属性,如DataType,DataSize等。
Name Column:有且只能有一列,是从DimProduct中的EnglishProductName创建的,其他属性,如DataType,DataSize等。
6 设置Dimension的Attribute的name column
在创建维度时,我们只设置了Main table的 Key Columns和Name column,如何设置非main table的Key Columns和Name column。
在VS中点开DimProduct维度选项卡,选中ProductSubcategoryKey属性,设置其Source Propereties。
KeyColumns是正确的,只需要设置name column即可。点击NameColumn,设置Binding Type为Column bingding,选中EnglishProductSubcategoryName。
7 从table column 创建dimension attribute
在创建维度的时候,可以通过启用“Enable browesing”创建dimension attribute,但是在维度创建完成之后,需要向维度中增加属性,该如何做了?点开Dimension选项卡,在Data Source View中可以看到构成该维度的table,例如,要增加Color属性,选择DimProduct,选中“New Attribute from column”从列中创建attribute。
新创建的attribute,在Dimension的面板中,通过Attributes查看,在其Proerties的Basic中设置Attribute Type。
8 Name Column的作用
Name Column的作用就是将Key Columns 表示的整型数据,转换为易读的字符串数据。
例如ProductSubcategoryKey 和ProductKey都有name column,但是ProductCategoryKey没有name Column,通过Dimension的 broser来查着三种attribute的不同。
9 set attribute usage
一个dimension就像一个table一样,有Key column,有regular column,如果table具有Hierarchy,那么使用外键关系实现自引用,需要设置Parent Column。对于Dimension的Attribute,Attribute usage共有三种,分别是:Regular,Key,Parent。
Key是维度的Key Attribute,只有一个Key Attribute
Regular是维度的Regular attribute,有多个。
Parent,当维度是父子维度时,需要设置Parent Attribute。