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 ...
随机推荐
- 用css实现云状提示框
经常会用到云状提示框,如图: 基本框架是这样,以三角在左侧为例: <div class="container"> <div class="content ...
- Android 利用ListView制作带竖线的多彩表格
1.listview与GridView 其实Android本身是有表格控件(GridView)的,但是GridView的每一列的宽度被限定为一样宽,有时设计表格时,列宽不可能为同一宽度,所有可以用Li ...
- vs2010制作带卸载功能的安装包过程,及asp.net网站iis发布、备份数据库
1:新建安装部署项目 打开VS编辑器,点击新建项目,选择:其他项目类型->安装与部署->安装项目,然后点击确定. 2 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹&q ...
- 解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing
版本问题,最直接的解决办法就是重新编辑安装git吧: 1. 下载:# wget -O git.zip https://github.com/git/git/archive/master.zip 2. ...
- iOS 快递查询
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...
- Spring AOP 问与答
AOP的实现有哪些 AOP常见的实现有: Spring AOP Aspectj Guice AOP Jboss AOP 等 AOP Alliance 是什么, 为什么Spring AOP, G UIC ...
- spring消费RESTfull服务
使用RestTemplate做这件事非常简单 package hello; import org.slf4j.Logger; import org.slf4j.LoggerFactory; impor ...
- java Double封装类的对象保留两位小数
double value = 22.365454; DecimalFormat df = new DecimalFormat("##.00");value = Double.par ...
- ajax提交含有html数据时的处理方法
这两天在做一个文章内修改的功能,由于前端选用的Extjs控件库,于是就使用Ext.form.HtmlEditor. 在使用ajax提交数据的时候,需要提交包含有html代码的数据.这时候问题就来了,不 ...
- MJRefresh简单处理
//下拉刷新 默认 self.bottomTableVeiw.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ [self he ...