2015-04-28 56 views
0

我正在使用MS分析服务。 我的项目我有一个维度“员工”。 此维度最初只有一个属性 - “Employee_NAME”。 我不得不添加另一个属性 - Employee_NR。分析服务中的岛屿维度

问题是 - 可能发生的情况是一名员工有两个不同的Employee_NR。因此,我在处理多维数据集时遇到错误。

此外,“Employee_NAME”被定义为关键字。

我试了一下,到目前为止: 我添加了一个新属性“EMP_ID”我的计划是使这个属性关键属性。但是,当我试图保存更改时,我发现错误提示像cube中的相应属性被定义为WCHAR,而维度中的键列被定义为INTEGER(正如我所提到的,我尝试使用EMP_ID作为关键列)。 然后,我想检查维度如何连接到多维数据集/事实表。我尝试打开多维数据集和数据源视图。在这两种情况下,员工维度使用的表格/视图都没有连接到任何其他表格 - 它是一个“岛”表格。 (我通过右键单击表格并选择“显示相关表格”选项尝试过,没有显示连接的表格)。

我会很感激关于解决这个问题的优雅建议。

UPDATE: AFER从乔·道格拉斯下面的说明,我得到了以下错误消息,当我试图保存更改(我从德国的翻译,所以翻译可以从确切的错误信息有点不同):

维度员工无法保存,因为有以下错误: 元数据管理器错误。 Employee-Attribute中的元素属性ID'Emp ID 1'不与维度中的任何可用属性相对应。

+0

您是否已将Emp_ID添加到您需要链接到Employee的其他表格中?如果他们之前在Employee_NAME上进行了链接,并且现在已将Emp_ID定义为关键字,则应该将其链接到该关键字上。请注意,最好的做法是,总是使用一个像您为Employee创建的ID这样的ID(这个概念称为代理键),因此您可能想要对其他表进行相同的更改以防止后来的麻烦。 –

+0

就立方体问题而言,您需要编辑多维数据集维度,右键单击Employee_NAME,然后执行设置属性用法>常规。然后,您可以添加新的Emp_ID作为属性,并使用相同的方法将其设置为键(右键单击,设置属性用法>键)。一旦你回到上面的问题,我会把所有这些都放在适当的答案,如果它在正确的轨道上。 –

+0

我没有得到究竟是什么问题。@亚当 - 你能否再强调一下这个问题?如果它是关于具有多值属性'Employee_NR'的一个Employee,那么它就成为数据库设计问题。 [更多详情](https://dwbi1.wordpress.com/2011/03/13/dimensions-with-multi-valued-attributes/)。 –

回答

0

我会为此维添加一个Surrogate Key列,然后将其用作“Key”。名字和NR将成为正确的属性,然后可以愉快地与密钥具有一对一或一对多的关系。

此更改意味着您将需要您的度量值组/事实数据的查找逻辑,以确定将每个事实行关联到的正确的代理键值。

总结 - 欢迎来到维度建模的世界!我推荐Kimball Group作为这个领域的思想领袖 - 他们在他们的网站上提供了丰富的文章,课程和书籍:http://www.kimballgroup.com