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 用于处理的排序规则。我过去试过这个,但有时它没有为我解决基于排序规则的问题。
假设我有一个具有两个属性 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 用于处理的排序规则。我过去试过这个,但有时它没有为我解决基于排序规则的问题。