SSAS 2016:"The attribute key cannot be found" 错误,在添加属性后处理维度时

SSAS 2016: "The attribute key cannot be found" error, when processing a dimension after adding an attribute

假设我有一个具有两个属性 UserId [bigint]Reputation [int] 的维度 DIM_Users。在这种情况下,我可以成功处理 table.

但是,在我将 DisplayName [nvarchar(255)] 属性添加到维度后,处理失败并显示下一条消息:

Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'cube_DIM_Users', Column: 'DisplayName', Value: 'Justin ᚅᚔᚈᚄᚒᚔ'. The attribute is 'Display Name'.

比较屏幕截图我注意到第一次处理了 5987286 个 UserIds(这是正确的值),但第二次只处理了 70000 个。

我还看到值“Justin ᚅᚔᚈᚄᚒᚔ”看起来很奇怪,但我无法弄清楚它如何影响属性键的处理。

关于我的维度有什么问题有什么想法吗?

我找到了 this 篇文章,但没有用。

看来这个问题是由您的数据源和 ssas 之间的排序规则不匹配引起的。如果你触发 sql select 比如 SELECT DISTINCT UserId FROM yourTable WHERE UserId LIKE 'Justin%',你将更好地理解可能的排序规则问题。应该有多个条目,这可能会导致整理问题。

如果您的属性 "User Id" 是唯一的,请尝试以下解决方法。为每个 UserId 行添加一个人工唯一键到您的维度 table,例如一个递增的整数。将此创建的键分配给属性的键列,并将 "UserId" 分配给名称列。

提示:如果您在 ssas 维度中扩展属性的键列属性,您还可以更改 ssas 用于处理的排序规则。我过去试过这个,但有时它没有为我解决基于排序规则的问题。