3

我们的一个生产多维数据集失败并显示以下错误消息:

来源:Analysis Services 执行 DDL 任务 Analysis Services 执行 DDL 任务描述:OLAP 存储引擎中的错误:处理时找不到属性键:表:'dbo_vw_FACT_OperationalTimeSheetData',列:'CurrentHomeLaborOrg',值:'117-MARKETPLACE-38 '。该属性是“KeyOrganisation”。结束警告警告:2013-07-22 06:26:07.51 代码:0x811F0002
来源:Analysis Services 执行 DDL 任务 Analysis Services 执行 DDL 任务 描述:OLAP 存储引擎中的错误:属性键被转换为未知成员,因为找不到属性键。维度的属性 KeyOrganisation:来自数据库的当前主组织:LadbrokesReporting2005,多维数据集:MIS 克隆,度量组:Kronos 时间表,分区:201307,记录:179774。结束警告

在对上述错误消息的广泛谷歌搜索中,我了解到这是由于参照完整性,即事实表中的某些行无法链接到维度表。在我之前的分析中,我发现对于事实表中错误消息“117-MARKETPLACE-38”中给出的某些值,维度表中的格式为“117_Marketplace_38”。但是,我发现了一些惊人的事实:-

  1. 对填充事实的视图的查询将数据转换为“117-MARKETPLACE-38”格式。源表中的数据格式为“117_Marketplace_38”。

  2. 还有许多其他格式为“117-Marketplace-38”的条目。但是,该错误似乎仅针对该条目存在。那么为什么其他人被接受了,但事实并非如此?

我已经没有想法了。因此,如果有人可以帮助我解决这个问题,那就太好了。

4

2 回答 2

3

您确定已处理维度吗?请记住,当它将事实链接到维度时,它是在 SSAS 维度上这样做的,而不是基础 SQL 表。尝试先在维度上运行进程(更新)?

在您原来的帖子中,您混合了大写和小写、MARKETPLACE 和 Marketplace。这是在源头上的样子吗?可能是它没有将它们视为相同。我已经看到 SSAS 在“Id”与“ID”之间存在问题

无法找到 ssas 属性键的可能相对关系,即使它存在并且不是由于重复

接受后将评论编辑为答案。

于 2013-07-22T11:46:44.523 回答
0

我收到了同样的错误消息,但在我的情况下必须以不同的方式处理它:以下为遇到相同问题的其他人的详细信息。

在我的场景中,我通过桥接表将我的事实表连接到另一个事实表。这个桥表是通过一个 形成的INNER JOIN,所以它只有在两者中都匹配的记录;合法地,然后某些行FactTableA不在BrgTable加入到FactTableB.

为了FactTableA在没有有效链接的情况下也能进行处理BrgTable,我按照TechNet 的以下说明进行操作

事实表中的参照完整性问题

销售事实表具有产品维度表中不存在的 product_id 记录。服务器在分区处理过程中会产生 KeyNotFound 错误。默认情况下,会记录 KeyNotFound 错误并将其计入密钥错误限制,默认情况下为零。因此,处理将在第一个错误时失败。

解决方案是修改度量组或分区上的 ErrorConfiguration。以下是两种选择:

 Set KeyNotFound=IgnoreError.

 Set KeyErrorLimit to a sufficiently large number.

KeyNotFound 错误的默认处理是将事实记录分配给未知成员。另一种选择是设置 KeyErrorAction=DiscardRecord,以完全丢弃事实表记录。

对我来说,我必须转到与失败的度量值组关联的分区,打开Properties窗格,将ErrorConfiguration设置为Custom,然后展开 Custom 并将 KeyNotFound 设置为IgnoreError

于 2015-07-13T12:43:37.440 回答