转载: http://www.cnblogs.com/OpenCoder/p/4754447.html#commentform

在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的正确设置 (转载)的更多相关文章

  1. Sql Server Analysis Service 转换为UnknownMember的正确设置

    在SSAS中事实表数据被归类到为UnknownMember 的时候分为两种情况: 第一种情况,在SSAS里面事实表中的外键是null,这种情况SSAS在建事实表和维度时ErrorConfigurati ...

  2. Sql Server Analysis Service 处理时找到重复的属性键、找不到属性键错误(转载)

    这是两个非常常见的SSAS处理异常,网上也能找到很多文章讲解决办法,但很少见关于异常原因的分析,先来看看第一个" OLAP 存储引擎中存在错误: 处理时找到重复的属性键",一个维度 ...

  3. 微软Sql server analysis service数据挖掘技术

    最新在一个项目中要求用到微软SSAS中的数据挖掘功能,虽然以前做项目的时候也经常用到SSAS中的多维数据集 (就是CUBE),但是始终没有对SSAS中的数据挖掘功能进行过了解.所以借着项目需求这股东风 ...

  4. Sql server analysis service 通过IIS连接时的最大连接数问题

    做过SSAS项目的大部分人都应该知道SSAS是可以通过在IIS上建立代理站点的方式来建立远程连接的,这样可以绕过连接到SSAS时需要在同一个域环境下通过域用户来验证的问题,这样即使连接到SSAS的客户 ...

  5. SQL Server Analysis Services SSAS Processing Error Configurations

    转载:https://www.mssqltips.com/sqlservertip/3476/sql-server-analysis-services-ssas-processing-error-co ...

  6. 初识SQL Server Integration Service

    SSIS(SQL Server Integration Service)是Microsoft 从SQL Server2005 以后发布的,现在一直跟随每个SQL server版本.它是Microsof ...

  7. 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)

    假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功 ...

  8. SQL Server Reporting Service(SSRS) 第二篇 SSRS数据分组Parent Group

    SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子默认使用Table进行简单的数据显示,有时为了进行更加直观的数据显示,我们需要按照某个字段对列表进行 ...

  9. SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子

    很早就知道SQL SERVER自带的报表工具SSRS,但一直没有用过,最近终于需要在工作中一展身手了,于是我特地按照自己的理解做了以下总结: 1. 安装软件结构 SSRS全称SQL Server Re ...

随机推荐

  1. Unable to run app in Simulator

    xcode6 beta出现 “Unable to run app in Simulator” 错误提示,之前一直用着好好的,重启xcode就可以了. xcode6 beta出现 “Unable to ...

  2. pointer to function

    指针.函数.数字.结构体.指针函数.函数指针 初学不好区分,做点儿实验来有效区分一下,以下代码采用dev-C++平台测试 //pointer to fucntion 函数功能是 基地址加偏移量得到偏移 ...

  3. centos6虚拟机复制后修改网卡

    方法1: 使用vmware创建centos6.4虚拟机, 创建完成后复制该虚拟机, 打开复制的虚拟机发现网卡名字是eth1,而网卡配置文件为eth0,mac地址变了 这时修改网卡配置文件, 删除uui ...

  4. hdu1004

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...

  5. Table-3个属性的高级用法(colgroup和 frame和rules)

    之前我用表格的时候基本是caption.thead.tfoot.tbody.tr.th/td,以为是很完整的表格了,原来发现还有colgroup这东东,确实比直接在td里面colspan好用,另外ta ...

  6. 谈谈pooling?

    使用pooling的目的之一是获取一定的特征不变性,目前用的比较多的是Max..,非线性对于Deep的重要性不用多说,pooling是主要贡献之一,当然少不了relu类的激活函数.pooling还有一 ...

  7. Android 中onConfigurationChanged问题

    onConfigurationChanged 不生效问题解决方案: 1).首先,需要重写onConfigurationChanged函数 @Override    public void onConf ...

  8. jQuery中异步操作对象Deferred

    以下介绍一下jQuery中Deferred对象的使用: 1. 通过$.Deferred生成一个deferredObj对象; 2. deferredObj.done()指定操作成功时的回调函数; 3. ...

  9. C++类大小

    对于C++中类的大小,主要针对于无成员的空类大小,编译器会对该类进行优化,情况主要分为是否有虚表(虚函数)两种类型,对于无虚函数的类,该类大小均为1个字节(编译器插入一个char表示该类的存在),而出 ...

  10. jquery的ajax和jsonp的写法

    交互 ajax jsonp ajax跟之前一模一样 $(document).ready(function(){     $.ajax({         url:'get.php',         ...