码迷,mamicode.com
首页 > 其他好文 > 详细

维度属性的KeyColumns,NameColumn和ValueColumn

时间:2015-06-30 14:25:35      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:

维度的每一个属性都有KeyColumns,NameColumn和ValueColumn

1,如何理解KeyColumns,NameColumn和ValueColumn?对一行记录有不同的标识列,但标识的是同一行记录。

对于int类型,占用存储空间小,容易聚合,适合做primary key,但是不易阅读;

char类型的数据,容易阅读,适合作为Name Column;

对于一个有具体类型的数据,其value必须能够做一些运算,例如Date类型,能够做Year(),dateadd()等运算,这些可以通过ValueColumn来进行。

 

示例,一个表Record(ID,Name,Value),有一行数据(1,20150201,1/2/2015)

那么ID=1是keyColumn,Name=20150201是NameColumn,Value=1/2/2015是ValueColumn。

 

2,在每一个维度属性的Source Properties中设置KeyColumns,NameColumn和ValueColumn

KeyColumns是必须设置列的

NameColumn 如果没有设置列,那么默认值是KeyColumn

ValueColumn 如果没有设置列,那么默认值是NameColumn

2.1,示例是DimDate维度的MonthNumberOfYear属性

KeyColumns 是MonthNumberOfYear,KeyColumns一般是Int类型的

NameColumn是EnglishMonthName,NameColumn是WChar类型的

ValueColumn是空的,默认值是NameColumn的列,即EnglishMonthName

技术分享

2.2 查看KeyColumns,NameColumn和ValueColumn

2.2.1 直观上看,Month Number of Year 这个Level下的所有成员显示是NameColumn,是每个月的English Name

技术分享

2.2.2通过MDX语句查询

WITH MEMBER Measures.ValueColumn 
    as [Dim Date].[Month Number Of Year].&[4].MemberValue 
MEMBER Measures.KeyColumn 
    as [Dim Date].[Month Number Of Year].&[4].Member_Key 
MEMBER Measures.NameColumn 
as [Dim Date].[Month Number Of Year].&[4].Member_Name 
 
SELECT {Measures.KeyColumn, Measures.NameColumn, Measures.ValueColumn} ON 0 
FROM [Adventure Works DW2012]

查询结果如下

技术分享

2.2.3 通过Member properties查看

SELECT [Dim Date].[Date Key] on COLUMNS,
[Dim Date].[Month Number Of Year].[Month Number Of Year].members
DIMENSION PROPERTIES
 KEY0 ,
 LEVEL_NUMBER ,
 LEVEL_UNIQUE_NAME ,
 MEMBER_CAPTION , 
 MEMBER_KEY , 
 MEMBER_NAME , 
 MEMBER_TYPE ,
 MEMBER_UNIQUE_NAME , 
 MEMBER_VALUE , 
 UNIQUE_NAME  
 ON ROWS
FROM  [Adventure Works DW2012]

技术分享

 

维度属性的KeyColumns,NameColumn和ValueColumn

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/4608280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!