即使存在并且不是由于重复,也找不到ssas属性键

时间:2012-12-20 14:41:20

标签: process ssas runtime-error cube

在前几天对事实和维度表中的表/列名称进行一些更改后,我试图重建我的多维数据集。

进程多维数据集操作一直返回以下错误消息:

  

处理时找不到属性键:表:   'MyFactTableName',列:'MyDimensionKey',值:'SomeValue'。该   属性是'MyDimensionKey'。

类似问题的其他答案涉及具有重复值的属性,以及Dimension或Fact表中属性值为null或缺失的情况。

示例相关帖子是:

在我的案例中没有重复的值,并且Fact或Dimension表中的属性值没有丢失。

谢天谢地,这篇文章here中的信息解决了我的问题。

建议是自行处理受影响的维度,然后处理受影响的度量值组。

知道为什么会这样,我怎么能重现这个?我想知道,以便下次我可以避免它在部署升级到生产环境时不会再次出现。

提前感谢您的帮助。

编辑:我正在使用SSAS-2008,并且在尝试从BIDS-2008中处理多维数据集时发生错误。

5 个答案:

答案 0 :(得分:19)

这是因为您的度量值组在相关维度之前处理。 SSAS遇到了一个用于与多维数据集维度相关的外键,但该维度本身并不知道该键。

答案 1 :(得分:10)

此错误的根本原因:您的事实表中存在一些键,而您的维度表中不存在该键(理想情况下不应该是这种情况) 请尝试以下步骤:

  1. 在处理测量组

  2. 之前处理您的尺寸
  3. 如果你的" SomeValue"是0,然后尝试在维度表中添加默认(第0)行,并在Fact表中尝试输入ISNULL(MyDimensionKey,0)

  4. 如果以上两种解决方案无效,请尝试以下方法:  一个。右键单击您的多维数据集数据库,转到"进程" >> "更改设置"  湾转到"尺寸键错误"标签  C。选中"使用自定义错误配置"单选按钮  d。检查'忽略错误计数'单选按钮。对于未找到的密钥'选择'忽略错误'。同样地,不允许使用Null密钥'也选择'忽略错误'  即单击“确定”并尝试处理您的多维数据集

答案 2 :(得分:1)

我遇到的是我的底层数据库中有两条记录,“ABC”和“abc”,Distinct子句将它们设为1(“ABC”)记录,因为我的sql server不区分大小写,但是在我的情况下,SSAS服务区分大小写,因此在处理多维数据集时,属性值“abc”无法找到它的密钥。 HIH

答案 3 :(得分:1)

我遇到类似错误的问题,原因是我已将表名更改为具有相同名称的视图,但DSV或维度无法自动调整此更改。

所以我不得不手动更新每个维度属性背后的字段。

可以在每个维度属性的属性中完成:来源>> KeyColumns>>“Attribename”>>来源>> TableID,columnID

答案 4 :(得分:0)

测试一下,让我们像Dimension一样开始:

Dimension

这是我的解决方案:

enter image description here