维度属性的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]

维度属性的KeyColumns,NameColumn和ValueColumn的更多相关文章
- 维度属性的KeyColumns如果是Integer类型,那么维度表中该列的值不能有为null的
如果维度属性的 KeyColumns的DataType设置为了Integer类型,那么要注意该维度属性列在数据库中不能有为null的值. 例如下图中我们有维度DIM_Vehcile,其中有个维度属性叫 ...
- SSAS 维度属性自定义排序
默认设置: 排序设置:
- SSAS维度上有多个表的注意事项
在Sql Server Analysis Service中维度上有多张表(大于一张表)时,一定要注意将第二张表开始用到维度属性中的KeyColumns下的NullProcessing要设置为Unkno ...
- BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度
上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...
- 创建cube 维度层次
http://blog.programmingsolution.net/ssas-2008/period-dimension-time-dimension-creation-with-year-mon ...
- SqlServer Analysis Service的事实维度关系
什么是Fact(事实)维度关系 开发过SSAS Cube的开发人员应该都知道,Cube的维度用法中有一种叫Fact(事实)关系类型,如下图所示: Fact(事实)维度关系就如同上面截图中红框中的描述一 ...
- SSAS的维度表之间的关系只能有一个不能有多个
我们在SSAS中创建维度的时候,有时候可能一个维度需要用到多个表的字段作为维度属性,那么这多个表之间势必存在关联关系,但是切记维度表之间的关联关系有且只能有一个不能有多个,下面我们来看一个例子. 现在 ...
- SSAS父子层次结构的增强-UnaryOperatorColumn属性
上次我有讲到自定义汇总,这次的内容跟上次的差不多也算是自定义汇总,实现的方式不同而已!使用的是UnaryOperatorColumn属性. 这个属性说明: 一元运算符用于将成员自定义汇总到父级,汇总运 ...
- 微软BI 之SSAS 系列 - 多维数据集维度用法之二 事实维度(退化维度 Degenerate Dimension)
这篇文章是基于上一篇 SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension 继续讲解多维数据集维度用法中的事实维度. 事实维度,顾名思义就是把事实表 Fact ...
随机推荐
- 原生JavaScript写AJAX
前端JavaScript: function ajaxGet(url, obj) { var request; if(window.XMLHttpRequest) { request = new XM ...
- python模块学习(四)
re模块 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C ...
- 安装nginx包
1.二进制安装源码包,直接输入yum stall nginx -y就可以 2,后面会涉及路径,所以先查下nginx的路径rpm -ql nginx 3,进入bin目录进行设置 4, 5,查看系统自带的 ...
- graoovy资料
官网 http://www.groovy-lang.org/ 官方文档 http://www.groovy-lang.org/documentation.html Groovy入门教程 http:// ...
- 【转载】Java中使用Jedis操作Redis
1 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Li ...
- jQuery:自学笔记(5)——Ajax
jQuery:自学笔记(5)——Ajax 使用Ajax快捷函数 说明 出于简化AJAX开发工作的流程,jQuery提供了若干了快捷函数. 实例 1.显示 test.php 返回值(HTML 或 XML ...
- CSS3 animation-iteration-count:infinite
原文:http://www.w3chtml.com/css3/properties/animation/animation-iteration-count.html animation-iterati ...
- Git配置出现的问题
git是代码版本同步工具,适用于团队开发,进公司第一堂课就是配置Git.接下来就把其中遇到的问题记录一下,与大家共享一下. 首先,在Bitbucket上注册账户,之后给管理员说一下,让他邀请你加入开发 ...
- spring boot未配置数据源报错
我拷贝了一个springboot 项目,然后去掉了数据源配置启动报错 : Cannot determine embedded database driver class for database ty ...
- nf_conntrack之解决方案
1.现象 在/var/log/message中出现以下信息 Dec 8 11:22:29 product08 kernel: nf_conntrack: table full, dropping pa ...