代码改变世界

随笔分类 -  SSAS

SQL Server 2005 Analysis Services数据挖掘算法扩展方法

2009-03-05 21:58 by Yin.P, 2970 阅读, 收藏, 编辑
摘要: 本文是对英文原文SQL Server Data Mining Managed Plug-In Algorithms Tutorial的部分翻译及整理,主要是描述SSAS数据挖掘算法的基本扩展方法和开发过程。本文的内容只是原文的一部分,如果想了解更多信息可以下载原文。英文原文可以在附件或这里下载。 SSAS为我们提供了九种数据挖掘算法,但是在应用中我们需要根据实际问题设计适当的算法,这个时候就需要扩展SSAS,使它能应用更多的算法,SSAS有比较好的可扩展性,它提供了一个完整的机制来进行扩展,只要继承一些类并按适当的方法进行注册就可以在SSAS中使用自己的算法了。下面我将通过实例分别用几篇文章来介绍一下如何开发SSAS算法插件。本文介绍的算法插件开发方法是基于托管代码的,是用C#开发的(算法插件也可以用C++开发,并且SQLSERVER2005的案例中附带C++版本的代码stub)。整个过程大至为六个步骤。在开始开发之前需要做一些准备工作,就是要去下载一个用C++编写的COM组件,叫DMPluginWrapper(可以通过下载本文附带的附件获得),它作为SSAS与算法插件的中间层 阅读全文

维度用法设置不当导致的数据无法正确聚合的问题及解决

2008-12-10 22:31 by Yin.P, 2135 阅读, 收藏, 编辑
摘要: 这几天在学习过程中出现了一个数据无法正确聚合的问题。花了很多时间去分析MDX代码都没有发现什么问题,最后在网上询问后才发现问题出在数据立方那里...由图三中的矩阵可见[Warehouse]维度与[Sales]度量值组之间是没有关联的,所以无法通过[Warehouse]维度来聚合数据,而[Product]维度和[Sales]度量值组之间有常规的关联,所以第二段代码可以正确地计算。由此可以看出,维度用法设置会影响查询的正确性。维度用法中有常规、多对多、引用、数据挖掘等这些类型的关联。 阅读全文

维度层次的理解

2008-11-30 23:58 by Yin.P, 4835 阅读, 收藏, 编辑
摘要: 多维度数据库是按照多维数据模型的思想来建立的。而一个多维数据模型是由多个维度和实事组成。维度是多维数据模型中非常重要的概念,要进行多维分析、编写高效准确的MDX查询,首先要对维及其维度的概念分层有比较深刻的理解。 阅读全文

利用SSAS 2005进行数据挖掘

2008-11-28 22:43 by Yin.P, 3722 阅读, 收藏, 编辑
摘要: 在SSAS中一个挖掘结构可以包含多个挖掘模型,如果只有一个挖掘模型,那么SSAS会自动创建一个相应的挖掘结构。挖掘结构和挖掘模型的区别就在于挖掘结构中包含多个将要用于挖掘的属性列,这些列中有的是作为预测列,有的作为输入列,有的既是输入又是可预测列。我们可以利用挖掘结构中的若干列构造属于同一个挖掘结构的不同挖掘模型,这些挖掘模型可能使用了不同的数据挖掘算法。也就是说挖掘模型就是在挖掘结构中选择若干列并使用各种算法构造而成。 阅读全文

创建命名计算时出现IErrorInfo.GetDescription问题的原因及解决方法

2008-11-26 22:33 by Yin.P, 406 阅读, 收藏, 编辑
摘要: 首先检查数据源视图来自什么数据源,如果在添加命名计算列时所使用的SQL代码不被对应的数据源所支持的话就会出现这个问题。例如,在数据源为ACCESS的数据源视图中添加带CASE语句的命名计算列就会出现这个问题,因为在ACCESS中不支持CASE语句。在ACCESS为数据源的数据源视图中可以将其替换为SWITCH()函数。如果数据源是ORACLE则可以使用DECODE或CASE语句。在SQL SERVER中也可以使用CASE语句。 阅读全文