Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 分析服务中的孤岛维度_Sql Server_Sql Server 2008_Ssas - Fatal编程技术网

Sql server 分析服务中的孤岛维度

Sql server 分析服务中的孤岛维度,sql-server,sql-server-2008,ssas,Sql Server,Sql Server 2008,Ssas,我正在使用MS分析服务。 我在项目中有一个维度“Employee”。 这个维度最初只有一个属性——“Employee_NAME”。 我必须添加另一个属性-Employee\u NR 问题是-一名员工可能有两名不同的员工。 正因为如此,我在处理多维数据集时出错 此外,“员工姓名”被定义为密钥 我到目前为止所做的尝试: 我添加了一个新属性“Emp_ID”,我的计划是使这个属性成为关键属性。但当我试图保存更改时,出现了一个错误,即多维数据集中对应的属性定义为WCHAR,维度中的键列定义为INTEGER

我正在使用MS分析服务。 我在项目中有一个维度“Employee”。 这个维度最初只有一个属性——“Employee_NAME”。 我必须添加另一个属性-Employee\u NR

问题是-一名员工可能有两名不同的员工。 正因为如此,我在处理多维数据集时出错

此外,“员工姓名”被定义为密钥

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

如果能给我一个优雅的建议来解决这个问题,我将不胜感激

更新: 按照Jo Douglass的指示,我在尝试保存更改时收到以下错误消息(我是从德语翻译的,因此翻译可能与确切的错误消息略有不同):

由于以下错误,无法保存维度员工: 元数据管理器中出现错误。Employee属性中的元素属性ID“Emp ID 1”与维度中的任何可用属性都不对应


我将向这个维度添加一个代理键列,然后将其用作“键”。Name和NR将成为属性,这样就可以很高兴地与键建立一对一或一对多的关系

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


总之,欢迎来到三维造型的世界!我推荐Kimball Group作为该领域的思想领袖——他们的网站上有大量的文章、课程和书籍:

您是否将Emp_ID添加到需要链接到Employee的任何其他表格中?如果他们以前在Employee_NAME上链接,而您现在已经将Emp_ID定义为键,那么他们应该在该名称上链接。请注意,正是出于这个原因,始终使用您为Employee创建的ID作为键(此概念称为代理键)是最佳做法,因此您可能希望对其他表进行相同的更改,以避免以后出现问题。对于多维数据集问题,您需要编辑多维数据集维度,右键单击Employee_NAME,并设置属性用法>常规。然后可以添加新的Emp_ID作为属性,并使用相同的方法将其设置为键(右键单击,设置属性用法>键)。一旦你就上面的问题回复我,我会把所有这些都放到一个正确的答案中,如果它在正确的轨道上。我不知道问题到底是什么@亚当-你能再强调一下这个问题吗?如果是关于一名员工具有多值属性
Employee\u NR
,那么它将成为一个数据库设计问题@乔道格拉斯:在尝试了你的指示之后,我更新了我的答案。请将您的反馈发送给我。如果不仔细查看,很难准确猜测到底发生了什么,但是一个相当普遍的建议以前救了我:有时候,只需从多维数据集维度中删除属性,然后重新添加它,这会很有帮助@AksayaRee是正确的,你可能想退后一步,考虑一下你的整个数据库设计,但是,你很可能会遇到这样的问题,在你尝试把它推到立方体之前,你可以通过在获得数据库模式之前节省时间。