Sql Server Analysis Service 转换为UnknownMember的正确设置
在SSAS中事实表数据被归类到为UnknownMember 的时候分为两种情况:
第一种情况,在SSAS里面事实表中的外键是null,这种情况SSAS在建事实表和维度时ErrorConfiguration的默认设置就可以处理,默认情况下事实表中外键为null的数据都会被归类到UnknownMember,只要将维度属性上的UnknownMember设置为Visible,在MDX查询结果中就会显示这些被归类为UnknownMember的数据。
第二种情况,在SSAS里面事实表的外键不为null但是外键值在维度表中找不到,这种情况SSAS在建事实表和维度时ErrorConfiguration的默认设置也会把事实数据归类到UnknownMember里面去,但是在处理CUBE时会报错。
有两个方法可以解决报错的问题。
1、打开外键值在维度表中找不到的那张事实表所建立的度量值组,打开其属性设置,将ErrorConfiguration下的KeyNotFound设置为IgnoreError,那么在处理CUBE时就不会报错了,并且外键值无法在维度表找到的事实数据会被归类为UnknownMember(同样需要将维度属性上的UnknownMember设置为Visible,在MDX查询结果中才会显示这些被归类为UnknownMember的数据)。
2、打开外键值在维度表中找不到的那张事实表所建立的度量值组,打开其属性设置,设置度量值组的ErrorConfiguration为默认(default)。然后打开CUBE属性设置,在CUBE的属性设置里面将ErrorConfiguration下的KeyNotFound设置为IgnoreError,那么在处理CUBE时也不会报错了,并且外键值无法在维度表找到的事实数据会被归类为UnknownMember(同样需要将维度属性上的UnknownMember设置为Visible,在MDX查询结果中才会显示这些被归类为UnknownMember的数据)。
注意CUBE和维度的ErrorConfiguration设置中很多项的名字相同但是代表的含义不一样,比如选项KeyNotFound在维度属性中表示维度中字段的KeyColumns值找不到该怎么处理(详情查看这篇文章),而KeyNotFound在CUBE属性中表示的是事实表外键值在维度表中找不到该怎么处理。
请注意当维度属性上UnknownMember的值为Visible或Hidden的时候,维度的UnknownMember是打开了的,只是说在设置UnknownMember为Hidden时MDX的查询结果不显示维度的UnknownMember成员,但是CUBE在做处理的时候是计算了维度上UnknownMember的度量值的。但是当设置维度属性的UnknownMember为None时,维度的UnknownMember就会被关掉,CUBE在做处理时会直接将事实表中外键为null或外键值在维度表中找不到的数据行忽略掉,导致CUBE中事实表最后聚合出来的度量值数据丢失。所以当CUBE属性中ErrorConfiguration下的KeyNotFound设置为IgnoreError时,维度属性再把UnknownMember的值设置为None,那么CUBE在处理时就会丢失数据而且也不会报错,这会导致MDX查询出来的度量值数据会莫名其妙的少掉很多,而且开发人员也不容易察觉到是什么造成的,所以按照经验来看在最开始建维度的时候将维度的UnknownMember值设置为Visible是最好的,这样既保证了CUBE在处理数据时的容错率,又保证了CUBE中的数据不会丢失。
Sql Server Analysis Service 转换为UnknownMember的正确设置的更多相关文章
- Sql Server Analysis Service 转换为UnknownMember的正确设置 (转载)
转载: http://www.cnblogs.com/OpenCoder/p/4754447.html#commentform 在SSAS中事实表数据被归类到为UnknownMember 的时候分为两 ...
- Sql Server Analysis Service 处理时找到重复的属性键、找不到属性键错误(转载)
这是两个非常常见的SSAS处理异常,网上也能找到很多文章讲解决办法,但很少见关于异常原因的分析,先来看看第一个" OLAP 存储引擎中存在错误: 处理时找到重复的属性键",一个维度 ...
- 微软Sql server analysis service数据挖掘技术
最新在一个项目中要求用到微软SSAS中的数据挖掘功能,虽然以前做项目的时候也经常用到SSAS中的多维数据集 (就是CUBE),但是始终没有对SSAS中的数据挖掘功能进行过了解.所以借着项目需求这股东风 ...
- Sql server analysis service 通过IIS连接时的最大连接数问题
做过SSAS项目的大部分人都应该知道SSAS是可以通过在IIS上建立代理站点的方式来建立远程连接的,这样可以绕过连接到SSAS时需要在同一个域环境下通过域用户来验证的问题,这样即使连接到SSAS的客户 ...
- SQL Server Analysis Services SSAS Processing Error Configurations
转载:https://www.mssqltips.com/sqlservertip/3476/sql-server-analysis-services-ssas-processing-error-co ...
- 初识SQL Server Integration Service
SSIS(SQL Server Integration Service)是Microsoft 从SQL Server2005 以后发布的,现在一直跟随每个SQL server版本.它是Microsof ...
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)
假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功 ...
- SQL Server Reporting Service(SSRS) 第二篇 SSRS数据分组Parent Group
SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子默认使用Table进行简单的数据显示,有时为了进行更加直观的数据显示,我们需要按照某个字段对列表进行 ...
- SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子
很早就知道SQL SERVER自带的报表工具SSRS,但一直没有用过,最近终于需要在工作中一展身手了,于是我特地按照自己的理解做了以下总结: 1. 安装软件结构 SSRS全称SQL Server Re ...
随机推荐
- clang: error: no such file or directory: 报错
clang: error: no such file or directory: '/Users/KuaiYong/Desktop/svn/gamebox_v1.2/SettingViewContro ...
- iOS面试题 02
在面试的时候,面试官问我,“你对内存管理了解的多吗?” 我忘了当时是怎么回答的了,但是,肯定是一时没想起来怎么回答. 1.谁创建谁释放 2.autoreleasepool 3.retain,copy, ...
- MVC强类型和弱类型的区别
1 强类型的处理 首先必须要有一个对象的实体类,UserINfo就是一个实体类,如下: public class UserInfo() { public int Id{set;get;} publi ...
- robotframework数据驱动框架
即将更新...............
- jquery实现"跳到底部","回到顶部"效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript实现,判断一个点是否在多边形内
//定义点的结构体 function point(){ this.x=0; this.y=0; } //计算一个点是否在多边形里,参数:点,多边形数组 function PointInPoly(pt, ...
- 转: 利用 DEBUG_NEW 来追溯 Memory leak 内存泄漏
参考: https://msdn.microsoft.com/en-us/library/tz7sxz99.aspx http://www.cnblogs.com/taoxu0903/archive/ ...
- 客户端 ios与android 的判断
<script> if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //alert(navigator.userAgen ...
- Java命令参数说明大全
Java 在运行已编译完成的类时,是通过 java 虚拟机来装载和执行的,java 虚拟机通过操作系统命令 JAVA_HOME\bin\java –option 来启动,-option 为虚拟机参数, ...
- 使用Universal USB Installer安装Ubuntu
1.下载Universal USB Installer 下载地址: 2.下载ubuntu 14 desktop.iso 运行Universal USB Installer,找到电脑上 ubuntu 1 ...