29

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

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

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

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

示例相关帖子是:

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

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

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

知道为什么会发生这种情况,我怎么能重现这个?我想知道这样我下次可以避免它,或者在部署升级到生产环境时它不会在糟糕的时候再次弹出。

在此先感谢您的帮助。

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

4

5 回答 5

25

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

于 2014-02-05T12:26:23.753 回答
16

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

  1. 在处理度量组之前处理您的维度

  2. 如果您的“SomeValue”为 0,则尝试在维度表中添加默认(第 0 行)并在 Fact 表中尝试放入 ISNULL(MyDimensionKey,0)

  3. 如果以上 2 个解决方案不起作用,请尝试以下操作:右键单击您的多维数据集数据库,转到“进程”>>“更改设置” b。转到“维度键错误”选项卡 c。选中“使用自定义错误配置”单选按钮 d。选中“忽略错误计数”单选按钮。对于“找不到密钥”,请选择“忽略错误”。同样对于“不允许空键”也选择“忽略错误”e。单击确定并尝试处理您的多维数据集

于 2016-05-18T08:40:36.340 回答
2

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

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

可以在每个维度属性的属性中完成:Source>>KeyColumns>>"Attribename">>Source>>TableID, columnID

于 2015-01-26T14:24:42.393 回答
1

我遇到的是我的基础数据库中有两条记录,“ABC”和“abc”,Distinct 子句使它们成为 1(“ABC”)记录,因为我的 sql 服务器不区分大小写,但 SSAS 服务是在我的情况下区分大小写,因此属性值“abc”在处理多维数据集时找不到它的键。HIH

于 2013-03-13T02:21:46.503 回答
0

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

方面

这是我的解决方案:

在此处输入图像描述

于 2015-07-09T20:41:51.927 回答