在前几天对事实和维度表中的表/列名称进行一些更改后,我试图重建我的多维数据集。
进程多维数据集操作一直返回以下错误消息:
处理时找不到属性键:表: 'MyFactTableName',列:'MyDimensionKey',值:'SomeValue'。该 属性是'MyDimensionKey'。
类似问题的其他答案涉及具有重复值的属性,以及Dimension或Fact表中属性值为null或缺失的情况。
示例相关帖子是:
在我的案例中没有重复的值,并且Fact或Dimension表中的属性值没有丢失。
谢天谢地,这篇文章here中的信息解决了我的问题。
建议是自行处理受影响的维度,然后处理受影响的度量值组。
知道为什么会这样,我怎么能重现这个?我想知道,以便下次我可以避免它在部署升级到生产环境时不会再次出现。
提前感谢您的帮助。
编辑:我正在使用SSAS-2008,并且在尝试从BIDS-2008中处理多维数据集时发生错误。
答案 0 :(得分:19)
这是因为您的度量值组在相关维度之前处理。 SSAS遇到了一个用于与多维数据集维度相关的外键,但该维度本身并不知道该键。
答案 1 :(得分:10)
此错误的根本原因:您的事实表中存在一些键,而您的维度表中不存在该键(理想情况下不应该是这种情况) 请尝试以下步骤:
在处理测量组
如果你的" SomeValue"是0,然后尝试在维度表中添加默认(第0)行,并在Fact表中尝试输入ISNULL(MyDimensionKey,0)
如果以上两种解决方案无效,请尝试以下方法: 一个。右键单击您的多维数据集数据库,转到"进程" >> "更改设置" 湾转到"尺寸键错误"标签 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一样开始:
这是我的解决方案: