SSAS 维度层次结构:处理时发现重复的属性键

JF *_*ieu 3 olap ssas cube

我对 SSAS 完全陌生,我正在尝试部署一个只有一个维度由多个属性组成的简单多维数据集。我所做的是从我的数据源创建一个 DSV,然后从我的事实表创建一个维度。看来无论发生什么,我都会收到以下错误消息:

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) -> Player id -> Team -> Player Name -> Salary

我不明白,问题显然不在于值为空,就像我见过的其他线程,告诉我设置NullProcessingKeyColumns的东西比别的自动,但这不是在这方面的问题。

任何帮助将不胜感激。

Mik*_*ney 5

可能您在多个球员姓名和/或薪水值下列出了 ANA 队。

这是 SSAS 的一个非常棘手的领域。最快的方法可能是安装BIDS Helper并使用“Dimension Health Check”功能:

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

它将向您显示数据中的所有问题(不仅仅是您目前发现的第一个问题),并为您提供有关如何进行的一些信息。

由于调试和修复这些问题的难度,我个人已经开始建立属性关系。我现在倾向于构建维度,其中每个属性都与关键属性直接相关。你永远不会看到这些错误和性能似乎非常相似。您仍然可以向用户展示层次结构。

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