2012-11-06 87 views
3

我对SSAS完全陌生,我试图部署一个简单的多维数据集,只有一个由多个属性组成的维度。我所做的就是从我的数据源创建一个DSV,然后从我的事实表创建一个维度。它接缝,无论发生什么,我得到了以下错误消息:SSAS维度层次结构:处理时发现重复属性键

Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: 'dbo_Fact_Statistics', Column: 'Team', value: 'ANA'. The attribute is 'Team'.

这是我的层次:ID(SK) - >玩家ID - >团队 - >播放器名称 - >工资

我不明白,显然问题不是价值是空的,就像我在其他线程看到的,告诉我在KeyColumns下将NullProcessing设置为除自动以外的其他东西,但在这种情况下这不是问题。

任何帮助将不胜感激。

回答

2

这种方法解决我的问题:

而不必以下链接关系的属性,我干脆离开的关系,因为他们在默认情况下。

Player id (SK) -> Conference 
Player id (SK) -> Division 
Player id (SK) -> Team 
Player id (SK) -> Player Name 
Player id (SK) -> Salary 
+0

谢谢你真的为我节省了一桶时间 – gls123

4

也许你有团队全日空列出根据多个玩家名称和/或工资值。

这是一个非常棘手的SSAS领域。前进最快的方法可能是安装BIDS助手,并使用“维度健康检查”功能:

http://bidshelper.codeplex.com/wikipage?title=Dimension%20Health%20Check&referringTitle=Documentation

它会告诉你所有的问题,在您的数据(不只是你已经发现了这样的第一个远),并给你一些关于如何进行的信息。

就我个人而言,由于调试和修复这些问题的困难,我建立了属性关系。现在我倾向于在每个属性直接与关键属性相关的情况下构建维度。你从来没有看到这些错误,表现看起来非常相似。您仍然可以向用户显示层次结构。

如果这不是您的选择,那么您可以尝试将更高级属性的列添加到所有较低级别的Key属性中。从技术上讲,这将起作用,但设置和维护起来很尴尬。

+0

我已经安装了BIDS Helper,并在我的维度上运行了健康检查。原来问题是:'属性关系[团队] - > [名称]无效,因为它导致多对多的关系。“# –

+0

它是一个非常有用的工具。 –

+1

啊,你这个大美人!对我来说,完全找到了一种所谓的不可能的多对多关系! – teedyay

1

运行在SQL中找到自己的例如ID douplicate ......用它作为我的(影响3647行(S))维键

Select id,count(*) as how_many 
from [RC_Dailer_WH].[dbo].[RC_call_logs] 
group by id 
having count(*) > 1 

其中有超过50,000个记录我的数据库,然后

去除重复我的立方体正确加工

0

去该维在其上显示错误。 并右击 去查看代码

和搜索该代码以下行:

ReportAndStop

删除XML标记 并保存

并重新处理,将工作

-1

转到它显示的尺寸错误。并给予右键 - 去查看代码 -

CTRL + F - 沙棘的连接 - 找到
ReportAndStop 连接字符串。 从代码中删除上述命令 - 并保存。 再次处理。

它会工作。

相关问题