处理Dimension时出现以下错误:
OLAP存储引擎中的错误:处理时找到了重复的属性键:表:'dbo_Orders',列:'项目',值:'客户服务东西'.该属性为"项目".
"项目"是"订单"维度的属性,但不是密钥.我没有在任何地方指出Project列是关键!我应该能够根据需要拥有尽可能多的重复项,就像名字字段一样.
我是Analysis Services项目的新手,并且确实需要克服SSAS经常抱怨重复值的事实,因为重复值应该完全没问题.我敢肯定,这一定是我忽略的简单事情.
编辑:我意识到可以设置KeyDuplicate = ReportAndContinue/ReportAndStop
,也可以设置KeyColumns
和NameColumns
.但是这个多步骤过程似乎非常麻烦,看起来应该是一个非常正常的操作,比如添加Address1,Address2,Address3,Firstname,Zipcode和其他通常重复的字段.我不敢相信这个繁琐的过程需要适用于所有这些领域吗?
提前致谢.
我的公司在MS BI堆栈(SQL Server报告服务,分析服务和集成服务)上投入了大量资金,但我想看一下看似最受关注的开源替代Pentaho的内容.
我已经安装了一个版本,并且我非常轻松地完成了它.这很好.但我还没有时间开始将它用于实际工作以彻底了解包装.
你们有没有任何关于Pentaho与MS BI的利弊有什么见解,或者这些比较的任何链接?
非常感激!
sql-server ssas pentaho reporting-services business-intelligence
经过多年的关系数据库开发,我目前正在学习OLAP和MDX.
关于MDX入门的任何提示?学习MDX的最佳书籍和资源是什么?
我正在使用Analysis Services,在设计维度时,我无法确定构建自然层次结构还有多远.
我的意思是我添加了所有真正的属性关系.因此,大多数层次结构都是自然的,但最常请求的层次结构是3个或更多级别,中间级别是缓慢变化的属性.
该方案是跟踪工作.该工作有许多属性都是静态的,但债务人属性(即谁支付发票)可以在工作过程中发生变化.所以层次结构看起来像这样
- Manager -> Debtor -> Job Name
- Director -> Debtor -> Job Name
- Office -> Debtor -> Job Name
- Office -> Manager -> Debtor -> Job Name
Run Code Online (Sandbox Code Playgroud)
因此,在维度内,有许多层次结构以作业的静态属性开始,后面是债务人(缓慢变化),底部是作业名称(维度键).
因此,我们目前所做的"自然化"这些层次结构的是为每个债务人创建"假"属性,这些属性出现在层次结构中,该层次结构是其上方的属性的组合.例如,对于上面的第一个示例,Debtor级别属性将具有Manager和Debtor id的密钥.对于最后一个示例,Manager级别将具有Manager和Office的密钥,而Debtor级别属性将具有Office,Manager和Debtor的密钥.然后,我们隐藏所有这些属性,以便它们仅用于层次结构中.
因此,这使我们的维度变得更加复杂,但我们确实在查询中获得了额外性能的好处.这通常是一个显着的进步.除了复杂性之外,我们经常遇到问题,因为我们现在有多个版本的"债务人",而属性的关键不是债务人的身份.因此,如果我们想要更改某些级别的行为,这会影响钻取和报告操作以及使某些类型的计算更加困难.
我们使用的客户端是Reporting Services,Excel和Office Web Components.
有人告诉我,在SQL 2005的早期版本中,涉及非自然层次结构的复杂查询可能会导致服务器完全绑定,这是我们为避免不自然的层次结构而付出很大努力的另一个原因.
此外,感叹号设计警告在Visual Studio中如此引人注目,以至于拥有不自然的层次结构似乎是一件非常糟糕的事情.
在这些情况下,其他设计师会做些什么?你要走多远才能避免不自然的等级制度?
在前几天对事实和维度表中的表/列名称进行了一些更改之后,我试图重建我的多维数据集.
进程多维数据集操作不断返回以下错误消息:
处理时无法找到属性键:表:'MyFactTableName',列:'MyDimensionKey',值:'SomeValue'.属性是'MyDimensionKey'.
类似问题的其他答案涉及具有重复值的属性,以及属性值在Dimension或Fact表中为空或缺失的情况.
相关帖子示例如下:
在我的案例中没有重复的值,并且Fact或Dimension表中的属性值没有丢失.
值得庆幸的是在这篇文章中的信息在这里解决我的问题.
建议是自己处理受影响的维度,然后处理受影响的度量值组.
知道为什么会这样,我怎么能重现这个?我想知道这样我下次可以避免它在部署升级到生产环境时不会再次出现.
在此先感谢您的帮助.
编辑:我正在使用SSAS-2008,并尝试从BIDS-2008内处理多维数据集时发生错误.
由于我是SSAS的新手,一直在阅读有关多维OLAP多维数据集的文章,并且正在努力理解多维数据集概念,有人说虽然术语"立方体"表示三维,但立方体最多可以有64维.你能解释一下这在立方体上是如何实现的(除了3-Dim例子x,y,z平面)?请不要只提供学习的链接,但也希望得到一些解释.
我有兴趣了解一些不同的方法,用于从Analysis Services检索数据,在代码中的对象中使用,或者用于最终用户报告.
我过去使用过两种不同的方法,一种是使用ADOMD来提取结果并将它们放入数据集中,另一种是使用SQL OPENQUERY来链接SSAS服务器以将结果作为SQL存储过程结果集获取.这两者都有优点和缺点.
多年来我在这一行上看到了各种各样的问题,请原谅我任何重复,但是有什么其他方法可以将SSAS数据转换成其他人的代码可以使用它的格式?
我已经考虑过基于HTTP的SSAS的XML结果集,然后是Linq到XML - 任何人都有这方面的经验吗?
理想情况下,我想要一个带有类型列的数据集,或者具有属性的对象,但我对一般方法比对代码示例更感兴趣.除SSRS /其他仪表板控件外,您如何从SSAS获取数据?
首先,我对层次结构在概念方面的含义以及它如何影响DW星形模式的设计感到满意.我有一些具有大量属性的维度,我可以在SSAS中创建许多层次结构.我想更好地了解OLAP引擎如何使用,我创建的层次结构,这样我可以让我如何设计我的等级(这是一个艰难的字键入第几次)更明智的决定.SSAS在多个层次结构中出现的属性也存在局限性,因此有时我需要做额外的工作来解决这些限制或决定哪个层次结构更重要.
我也想知道层次结构可能带来的负面影响,例如使维度更容易让用户感到困惑.我可能隐藏层次结构中包含的属性以消除重复属性并使维度更容易混淆.但是,用户希望看到一年中哪些月份他们通常会获得更多销售额. 如果我隐藏了month属性以便它只能通过Year-> Month层次结构,那么它们是否必须始终包含层次结构的Year部分,以防止它们进行此类分析?
我几篇关于层次结构的文章已经说明了"允许用户深入查看详细数据"的效果.这是误导性的,因为您可以简单地将单独的年份和月份属性拖到报表中,而您在不使用层次结构的情况下完成了这一操作.所以这样的解释有点肤浅.我觉得必须有更多的东西.
一些文章似乎建议它确定是否考虑属性进行聚合.这似乎是反直觉的,因为我认为在多维数据集中包含属性时已经发生了这种情况.我的意思是创建一个由属性组成的立方体的全部意义是要有一个所有属性的交集,这样你就可以快速聚合它们的任何组合,所以当一些东西暗示与之相反时,它只会混淆我在层次结构中考虑聚合:
仅在聚合设计向导中自动考虑在属性层次结构中公开的属性[与用户层次结构相对]进行聚合.通过汇总主键中的数据来满足涉及这些属性的查询.如果没有聚合的好处,针对这些属性层次结构的查询性能可能会很慢.-SSAS 2008性能指南
有人可以解释引擎如何使用我的层次结构与仅在多维数据集中包含属性相比较吗?(除了将属性组合在一起的美学)
不自然的等级制度让我感到困惑,特别是对我而言.在SSAS 2008性能指南中,他们将一个示例显示为Gender-> Education层次结构.我认为我的用户每次不得不通过Gender进行教育时都会嘟""愚蠢的程序员".
在不创建层次结构的时间和时间,您遵循什么样的理性?
我对可用的SQL Server服务数组感到非常困惑,并且很难找到简短的入门读物.
我是一名很长时间的ASP.Net开发人员,他多年来一直在生产ASP.Net应用程序.这些通常基于SQL服务器和一系列自定义表和视图.
就在最近,我有必要做一些超越直接的报告,所以我开始研究SQL Server Reporting Services(SSRS).这样做我觉得我打开了潘多拉的盒子.
有报告服务,集成服务,分析服务,商业智能等等.这让我想知道他们都做了什么,如果我能(或应该)利用这些工具来做一些繁重的工作.net应用.
我对微软的直接研究工作扼杀了我难以理解的营销和业务发言.我搜索过的谷歌没有全面了解这些工具是什么,或者它们是否相互配合,甚至不应该使用哪种工具.我理解这些选项的最大问题之一是它们对我来说似乎都是一样的!
所以,所有这一切都说,如果某种鞋底可以让我直截了当并指出我正确的方向,我将非常感激:)
sql-server ssas reporting reporting-services business-intelligence
通常,当我想在SQL Server Management Studio中更改查询编辑器窗口的连接时,我可以从顶部的菜单中选择一个新连接 - 查询>连接>更改连接.
但是,当我处理具有分析服务连接的多维数据集 - 然后打开已保存的SQL脚本(例如基础SQL视图)时,可用数据库组合框为空白,并且"更改连接"和该菜单中的其他3个选项(连接,断开连接,断开所有查询)都是灰色的.
我发现能够运行保存的SQL脚本的唯一解决方法是从我想要在对象资源管理器中访问的SQL数据库中打开"新查询",并将我的脚本复制到其中,或者重新打开脚本 - 现在正常打开,使用新查询的数据库.
它似乎将最后一个查询编辑器窗口的数据库连接作为任何新查询的默认连接 - 当您的上一个"查询"正在浏览多维数据集时,它会中断吗?有没有人有一个解决方案可以正确地取消灰色"更改连接"选项?
我正在使用SQL Server 2008 R2,并通过文件>打开>文件菜单打开保存的SQL脚本