专注于中国的商业智能

sqlserver2005 数据挖掘控件研究

注意:对于本文提到的dll,因为微软没有公布,建议不要用于真实项目中去。否则以后使用中出现问题,将变的非常被动,本文仅作学习之用。

对于搞Sqlserver2005BI的朋友来说,相信肯定看到过sqlserver自带的数据挖掘模型的查看器,但是他们仅仅限于sqlserver2005客户端,微软并没有给我们提供编程接口来使用这些优秀的数据挖掘模型的查看器。后来通过webcast我知道了微软提供了三种数据挖掘模型查看器的编程控件,并且是开放源码的,可惜都是webform的,不适合于我的应用场景。于是我就想能不能把webform的源码改造成winform的控件,有这种想法到结束这种想法大概半天左右。为什么呢,因为我对挖掘模型本身的理解不透,去改造这种代码,等于给自己的项目埋下地雷,万一哪天发现我改造出来的控件根本思想上都错的,那不是白费功夫了。另外我发现,既然sqlserver2005能够调用这种控件,我能不能直接调用sqlserver2005安装目录下的dll呢?后来我借助reflector这个强大的东东,证明了我的想法是可行的。

经过一个个dll的reflector,我终于找到了我要的数据挖掘展示控件的dll,它的名字叫做Microsoft.AnalysisServices.Viewers.DLL。太伟大了,my god,呵呵臭美一下。后来我又找出它依赖的其他的dll,下面我列出他们的名字的列表,文件我就不提供下载了,只要你安装了sqlserver2005,你都能够找到这些dll。

既然找到了dll,接下去当然要试试能不能把它使用到我们的程序中来。先把Microsoft.AnalysisServices.Viewers.DLL这个dll拖到我们的工具箱.

接下来我们先拿决策树展示控件开刀,拖动它到我们的form窗体上,然后在load事件里面写上如下代码:
 string Value = "Provider=MSOLAP.3;Data Source=limj;Integrated Security=SSPI;Initial Catalog=Adventure Works DW Standard
Edition;";
//设置连接串
 this.treeViewer1.ConnectionString = Value;
//制定挖掘模型
            this.treeViewer1.MiningModelName = "TM Decision Tree";
//加载数据
            this.treeViewer1.LoadViewerData(string.Empty); 

完毕,运行以后显示如下结果

好了决策树可以了,接下来其他的控件我都试了一下,都没有问题,ohyeah。

下面其他的控件的展示结果。
贝叶斯算法

关联规则算法

聚类算法


时间序列



序列分析算法




posted on 2008-04-17 14:24 李梦蛟 阅读(2305) 评论(19)  编辑 收藏 所属分类: Sqlserver2005 BI

Feedback

#1楼  2008-04-17 14:31 风海迷沙      

好像还没写完的样子   回复  引用  查看    

#2楼  2008-04-17 14:33 Justin      

咋不把挖掘过程仔细说说   回复  引用  查看    

#3楼 [楼主] 2008-04-17 14:45 李梦蛟      

不好意思,刚刚在发,还在贴图   回复  引用  查看    

#4楼 [楼主] 2008-04-17 14:46 李梦蛟      

挖掘过程我暂时还没有理解的很透,过段时间等研究透了再发,不然的话怕会误导人家   回复  引用  查看    

#5楼  2008-04-17 14:49 Indigo [未注册用户]

我对DM也有颇大的兴趣,回来研究一下。   回复  引用    

#6楼  2008-04-17 15:26 aspnetx      

大哥你太伟大了.
刚来博客园就带给大家这么好的东西,小弟我佩服一个先.

其实我总也没想明白微软为什么在关于BI展现上一直那么吝啬,难道是根本就不需要把这些东西展示给客户?

小弟之前曾想在silverlight或者wpf做dmtree的展现,结果这个痛苦啊。   回复  引用  查看    

#7楼  2008-04-17 15:27 aspnetx      

对了再顺便问一下,多维数据集找到了吗?我怎么总感觉不是owc11的那个东西呢?   回复  引用  查看    

#8楼 [楼主] 2008-04-17 15:40 李梦蛟      

数据挖掘这块的展示好像跟OWC11没有关系,OLAP的浏览数据的透视表是用OWC11中的PivotTable的   回复  引用  查看    

#9楼  2008-04-17 15:41 aspnetx      

那个dll所在的位置:
C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE
  回复  引用  查看    

#10楼  2008-04-17 15:42 风海迷沙      

还不敢用ms的这个功能,都是自己写维表和事实表和ETL。
等做几个试验才会应用到项目中。   回复  引用  查看    

#11楼  2008-04-17 15:46 蜡人张      

很棒,没想到过这一点,恳请加入.NET BI团队。   回复  引用  查看    

#12楼 [楼主] 2008-04-17 16:00 李梦蛟      

对了,补充一下,其中好像有三个dll是搜索不到的,因为微软把它们部署到GAC中去了,你只要切换到命令行,到gac中去把他们拷贝出来就好了。   回复  引用  查看    

#13楼  2008-04-18 08:38 李战      

挖到啥子宝贝?见者有份哈
路过   回复  引用  查看    

#14楼  2008-04-18 10:28 winzheng      

收藏下。。。   回复  引用  查看    

#15楼  2008-04-30 11:14 StephenJu      

实在太牛了,真的很敬佩你!   回复  引用  查看    

#16楼  2008-05-05 11:49 。。。。。 [未注册用户]

您好,我按照上面的方法做了一遍,自己部署了一个挖掘模型,可是老是提示:“."附近有语法错误,我的连接字符串是Provider=SQLNCLI.1;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=AdventureWorksDW;
请教一下是不是这个字符串有问题呢?另外,我还没有使用Microsoft.SqlServer.DataStorage.DLL这个dll,貌似不用也可以编译成功了。   回复  引用    

#17楼  2008-05-27 22:08 xucheng1 [未注册用户]

和16#一样的问题.......   回复  引用    

#18楼  2008-08-01 21:53 yl [未注册用户]

我也是按照上述过程做得,是在。net下做的,可是调用AS中的挖掘结构的时候,出现连接不上,没有权限的问题。楼主能回复码?   回复  引用    



标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-21 10:01 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: