维度属性的KeyColumns,NameColumn和ValueColumn

 

 

维度的每一个属性都有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]
复制代码

 

--业精于勤而荒于嬉,行成于思而毁于随-- --欢迎转载,转载请注明出处--
http://www.cnblogs.com/ljhdo/p/4608280.html

转载于:https://www.cnblogs.com/sthinker/p/5966571.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值