【问题标题】:ssas attribute key cannot be found even though it exists and is not due to duplicates无法找到 ssas 属性键,即使它存在并且不是由于重复
【发布时间】:2012-12-08 02:44:19
【问题描述】:

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

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

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

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

相关帖子示例如下:

在我的案例中没有重复值,并且事实或维度表中都没有缺少属性值。

感谢here 这篇帖子中的信息解决了我的问题。

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

知道为什么会发生这种情况,我该如何重现?我想知道,以便我下次可以避免它,或者在部署升级到生产环境时它不会在错误的时间再次弹出。

提前感谢您的帮助。

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

【问题讨论】:

  • 发生这种情况是因为您的度量值组是在相关维度之前处理的。 SSAS 遇到一个用于与多维数据集维度相关的外键,但维度本身不知道该键。
  • 这是有道理的。我会尝试做一个测试,看看我现在是否可以重现错误(下次有机会),如果可以,请您将其发布为答案。
  • 这就是答案吗?
  • 是的,这显然是问题所在。这么晚才回复很抱歉。请张贴作为答案,以便我可以标记它。谢谢。
  • 我刚刚学会了如何使用“@”回复。所以,@JeroenBolle 请将其作为答案发布,以便将其标记为这样,谢谢。

标签: process ssas runtime-error cube


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    这是我的解决方案:

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 我阅读了您的答案,感谢您发布它,并且我处理了我的尺寸,但仍然收到相同的错误,但是当我第二次查看时,我发现有一个值在我的 Measure 表,但不是 Dimension 表。我更改了创建 Dimension 表的查询,确保存在缺失值,重新处理 Dimension 表,然后重新处理 Measure 表并且它工作正常。我想我会为任何有同样问题的人添加这个。
        • This explains how to process the dimensions before the measure group. 右键单击​​VS中的项目,“处理”,然后处理整个数据库——不仅仅是多维数据集。
        【解决方案5】:

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

        【讨论】:

        • 还要小心使用锐音符和特殊字符。
        • 您所描述的与类似duplicate attribute key was found的错误更相关
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多