在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的正确设置 (转载)

    转载: http://www.cnblogs.com/OpenCoder/p/4754447.html#commentform 在SSAS中事实表数据被归类到为UnknownMember 的时候分为两 ...

  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. LoadingView 自定义加载图片

    #import <UIKit/UIKit.h> @interface LoadingView : UIView @property (nonatomic,strong) NSMutable ...

  2. Selenium2学习-037-WebUI自动化实战实例-IE浏览器显示比例问题:org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Browser zoom level was set to 94%. It should be set to 100%

    好久没有写博文了,今天在给部门新人演示 Selenium WebDriver 启动其支持的各种浏览器时,启动 IE 时总是无法打开对应的百度网址,页面如下所示:

  3. leetcode算法

    Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follo ...

  4. Facial Detection and Recognition with opencv on ios

    https://www.objc.io/issues/21-camera-and-photos/face-recognition-with-opencv/

  5. PHP加密解密字符串

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些AP ...

  6. 堆heap和栈Stack(百科)

    堆heap和栈Stack 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈 ...

  7. Ninject简单的Demo

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. VMWare ESXi 5.5安装及配置

    VMWare ESXi 5.5安装大概过程如下:制作虚拟化ESXi系统的USB启动盘,安装ESXi系统到USB,用USB启动ESXi系统.比较难理解,下面图解过程. 下载UNetbootin   (下 ...

  9. Windows 8上使用SQL 2012 Configuration Manager

    现在使用Windows 8 + Sql Server 2012,而今天想用SQL 2012 Configuraton Manager, 设置别名来访问不同的开发数据库.但发现没能找到SQL 2012 ...

  10. Virtualbox+UbuntuServer+Xshell搭建Linux开发环境

    需求背景 嵌入式开发环境以编译服务器(Linux系统)为核心, 开发人员较多使用Windows系统, 通过若干工具, 可以实现开发人员使用Windows的开发工具,编写代码,然后在Linux系统上编译 ...