码迷,mamicode.com
首页 > 其他好文 > 详细

SSAS维度上有多个表的注意事项

时间:2015-09-10 18:58:54      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

在Sql Server Analysis Service中维度上有多张表(大于一张表)时,一定要注意最好将第二张表用到字段属性中的KeyColumns下的NullProcessing设置为UnknownMember,这是为什么呢?我们来看下面这个例子。

 

现在我们有一个维度叫门诊收费项目,其中用到了两张表V_Dim_BillingItemCode和V_Dim_BillingItemAnalysisCode,其中第一张表V_Dim_BillingItemCode和事实表通过字段ID直接关联(维度用法常规),而第二张表V_Dim_BillingItemAnalysisCode通过和表V_Dim_BillingItemCode连接从而间接和事实表产生关联,在维度中字段ID、收费编码来自第一张表V_Dim_BillingItemCode,字段收费归类、项目编码和项目名称来自第二张表V_Dim_BillingItemAnalysisCode,整个维度的结构如下图所示:

技术分享

 

现在如果第一张表V_Dim_BillingItemCode中有数据和第二张表V_Dim_BillingItemAnalysisCode中的数据关联不上,也就是说第一张表V_Dim_BillingItemCode中有几行数据在第二张表V_Dim_BillingItemAnalysisCode中找不到对应的数据行,那么在处理CUBE的时候就会报错,错误类型为KeyNotFound。出现这个错误的原因也很简单,因为维度中字段ID直接和事实表关联而且粒度最细,所以按道理来说ID字段的每一个值都应该能找到维度中对应的其它字段值,而现在由于第一张表V_Dim_BillingItemCode中有几行数据在第二张表V_Dim_BillingItemAnalysisCode中找不到对应的数据行,就导致有ID字段的值找不到第二张表V_Dim_BillingItemAnalysisCode中

SSAS维度上有多个表的注意事项

标签:

原文地址:http://www.cnblogs.com/OpenCoder/p/4798639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!