精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SQL Server數據挖掘規則實現商品推薦2

大數據
假如你有一個購物類的網站,那么你如何給你的客戶來推薦產品呢?這個功能在很多電商類網站都有,那么,通過SQL Server Analysis Services的數據挖掘功能,你也可以輕松的來構建類似的功能。

此篇在上一篇已經構建好挖掘模型的基礎之上,介紹如何構建服務接口。

編寫服務接口的方法很多,比如使用WCF。為了簡便,這里直接使用ASP.NET Web Services。

將挖掘模型的具體查詢的實現部分寫到Web服務代碼中,主要是考慮到代碼分層降低耦合性。另外這部分邏輯通過服務的方式來暴露接口,可以方便其它任何平臺來進行調用,比如ASP.NET, Winform, WPF或者其它基于java的技術框架等。Web服務最主要的部分是XML,一個服務接口往往就是一個URL地址,客戶端程序通過向這個地址發送xml請求的方式,來獲取服務端代碼的響應,結果再以xml的方式返回回來。那么既然來回通信的都是xml數據,是否意味這還要手動寫代碼來序列化和反序列化xml數據呢?這里面又涉及到一個SOAP的概念,這是一個在10年前很火的概念,簡單對象訪問協議。通過這個SOAP協議,客戶端程序可以知道要訪問一個Web服務,應該發送什么樣的xml數據,以及收到服務端xml的數據之后,本地再如何解析這些數據。基于這樣一個方式,Visual Studio中,當你引用一個服務的時候,它就會根據這個協議,在你本地生成若干代理類,這樣在你調用遠程的一個Web服務的時候,你就會感覺像是在調用本地里的一個類的方法一樣方便。

筆者注:如果你用Winform和ASP.NET等,那么你也可以選擇直接在代碼里訪問挖掘模型的數據,但是如果是其它平臺,比如Win 8 App, silverlight和flash等,它們是無法直接和數據源進行通信的,所以只能通過服務的方法來訪問。

本篇就是要編寫這樣一個服務接口,這個服務接受客戶已經購買的商品列表信息,然后根據這些信息來向用戶推薦其它商品。

服務的核心邏輯是根據傳送過來的商品列表,來動態的去拼DMX語句。在上一篇中提到的那個DMX語句,這里主要以它為"模版"。

根據上一篇的講解,我們知道需要變化的就是SELECT UNION SELECT的部分,一條商品對應一個SELECT。

還有一個需要介紹的東西是ADOMD.NET,這個名字你看上去可能感覺有些面熟,沒錯,你肯定用過ADO.NET,還記得經典方式操作數據庫的步驟嗎?新建Connection, Command然后DataReader或者其它方式來接收數據。ADOMD.NET就是專門用來訪問分析服務用的,由于它跟ADO.NET一樣都集成自同一接口,所以你可以找到熟悉的Connection和Command對象,而接收對象的除了DataReader外,還有跟DataSet相對應的CellSet對象。

傳統的分析服務是包含多維模型和數據挖掘的,所以在ADOMD.NET下,可以拋MDX(查多維數據集用的)和DMX(查挖掘模型用的)。這里我們用的數據訪問接口就是ADOMD.NET。

  1. SELECT FLATTENED 
  2. PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3) 
  3. FROM 
  4. [Association] 
  5. NATURAL PREDICTION JOIN 
  6. SELECT (SELECT 'Touring Tire' AS [Model] 
  7. UNION 
  8. SELECT 'Touring Tire Tube' AS [Model] 
  9. AS [v Assoc Seq Line Items]) AS t 

確認好以上邏輯之后,我們開始構建Web服務。

這里我們使用Visual Studio 2012來編寫服務。跟上一篇不同,上一篇為了編寫一個SQL Server 2012的分析服務項目,我們用的是SQL Server Data Tools,這個實際上就是Visual Studio 2010的一個Shell。而那個地方為什么用的版本是2010而不是2012?這里面有一個SQL Server和Visual Studio版本的一個對應的關系。

SQL Server版本

對應的Visual Studio Shell版本

2000

2005

2005

2008

2008

2012

2010

2012的下一個版本

2012

可以看到主要還是根據兩個產品系列的版本發布有關系。所以這里就有一個地方需要留意,如果你的機器上同時安裝了Visual Studio 2012和SQL Server 2012,那么當你打開一個類似上一篇中建立的分析服務項目的時候,不要默認雙擊打開項目文件,因為系統會用Visual Studio 2012 (不是應該與其對應的2010)來打開你的項目,然后提示你將項目升級到2012。不用想,對應Visual Studio 2012 Shell的SQL Server版本還沒發布呢,所以即使升級了最后也一定是失敗。

下面言歸正傳,打開Visual Studio 2012。點擊菜單欄FILE->New Project。

項目類型選擇ASP.NET Empty Web Application。

點擊OK新建一個新ASP.NET項目。

在Solution Explorer中,右鍵項目名稱,點Add->New Item。

在Add New Item中,選擇Web Service。然后點Add。

然后可以看到系統自動生成的測試用的服務代碼。

下面首先添加ADOMD.NET引用。右鍵項目目錄,選擇Add Reference。

ADOMD.NET組件不會默認出現在這里。需要點擊Browse手動去找。

通常ADOMD.NET組件的位置是位于這個目錄下:

C:\Program Files\Microsoft.NET\ADOMD.NET\110

找到Microsoft.AnalysisServices.AdomdClient.dll,點OK。

可以看到ADOMD.NET組件已經被添加到引用目錄下。

然后,回到Web服務代碼界面,在代碼中using這個庫的引用。

然后為服務編寫代碼,首先定義一個類,服務的結果將以這個類的結構返回。

 

  1. public class ModelResult 
  2. public string ModelName { getset; } 
  3. public double Support { getset; } 
  4. public double Probility { getset; } 

 

定義好這個類之后,再編寫服務代碼,這里直接貼出來:

 

  1. [WebMethod] 
  2. public List<ModelResult> GetModelResult(List<string> ModelList) 
  3. List<ModelResult> result = new List<ModelResult>(); 
  4. bool FirstOne = true
  5. //Build DMX query 
  6. StringBuilder sb = new StringBuilder(); 
  7. sb.AppendLine("SELECT FLATTENED"); 
  8. sb.AppendLine("PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3)"); 
  9. sb.AppendLine("FROM"); 
  10. sb.AppendLine("[Association]"); 
  11. sb.AppendLine("NATURAL PREDICTION JOIN"); 
  12. sb.AppendLine("("); 
  13. foreach (string item in ModelList) 
  14. if (FirstOne == true
  15. sb.AppendLine("SELECT (SELECT '" + item + "' AS [Model]"); 
  16. FirstOne = false
  17. else 
  18. sb.AppendLine("UNION"); 
  19. sb.AppendLine("SELECT '" + item + "' AS [Model]"); 
  20. sb.AppendLine(") AS [v Assoc Seq Line Items]) AS t"); 
  21. AdomdConnection conn = new AdomdConnection(); 
  22. conn.ConnectionString = "Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=MultidimensionalProject1;Data Source=."
  23. conn.Open(); 
  24. AdomdCommand comm = new AdomdCommand(sb.ToString(), conn); 
  25. AdomdDataReader dr = comm.ExecuteReader(); 
  26. //Read result 
  27. while (dr.Read()) 
  28. ModelResult mr = new ModelResult(); 
  29. mr.ModelName = dr[0].ToString(); 
  30. mr.Support = Convert.ToDouble(dr[1]); 
  31. mr.Probility = Convert.ToDouble(dr[2]); 
  32. result.Add(mr); 
  33. conn.Close(); 
  34. return result; 

留意貼出的這段代碼第一行,有一個[WebMethod],Web服務的方法跟一個類的傳統方法區別就在這里,只有在方法前面打上這個標記才會被系統認為是一個Web服務方法發布出去。

代碼中先根據上一篇提到的DMX語句的查詢"模版",中簡通過一個foreach循環來動態構建SELECT UNION SELECT部分。最后通過Connection和Command對象以及DataReader方法來讀取結果,并且把其加載到類里。

然后,為了方便測試,再加一個測試服務方法:

 

  1. [WebMethod] 
  2. public List<ModelResult> GetModelResultTest(string ModelSingle) 
  3. List<string> ModelList = new List<string>(); 
  4. ModelList.Add(ModelSingle); 
  5. return GetModelResult(ModelList); 

 

這個方法實際上還是調用了剛才建立的服務方法,只不過它只傳遞了一個商品過來,在這里打包成一個List后丟掉那個方法里。

這樣,在ASP.NET自帶的服務瀏覽界面中就可以測試我們剛才編寫的方法了。右鍵asmx文件點View in Browser。

然后可以看到系統自動為服務建立的簡單測試頁面。

這里點擊GetModelResultTest方法。

在參數值中輸入'Touring Tire',點"調用"。

最后,就可以看到服務返回的結果信息。信息的格式是通過xml的,你無需去解析它,通過前面提到的SOAP協議,系統會為你建立相應的本地代理類。

至此,為挖掘模型編寫的服務層代碼就編寫完畢了。下一篇將建立一個應用程序來調用這個服務從而實現一個簡單的商品推薦功能。

原文鏈接:http://www.cnblogs.com/aspnetx/archive/2013/02/24/2924091.html

【編輯推薦】

1.SQL Server數據挖掘規則實現商品推薦1

責任編輯:彭凡 來源: 博客園
相關推薦

2013-02-25 10:33:36

2011-07-25 16:05:27

SQL SERVER數Web路徑流挖掘

2011-08-11 16:16:26

SQL Server數據挖掘

2009-02-16 13:21:25

數據挖掘SQL Server SQL Server

2010-07-05 17:55:26

SQL Server更

2010-07-12 12:41:16

SQL Server

2009-04-13 10:15:24

SQLServer 2005數據挖掘

2011-07-25 14:56:00

SQL SERVER數

2011-07-25 15:17:50

SQL SERVER數

2010-11-11 14:05:17

SQL Server排

2009-07-03 19:58:51

SQL Server2

2011-04-01 12:19:21

SQL Server商業智能

2010-11-11 14:14:52

SQL Server排

2010-07-08 11:15:37

SQL Server數

2010-07-21 10:27:49

SQL Server

2009-08-05 10:00:04

數據挖掘算法SQL Server

2010-07-21 10:05:29

SQL Server排

2009-02-16 09:35:19

業務規則鏈接SQL Server

2010-07-12 09:10:05

SQL Server數

2011-03-29 15:42:08

SQL Server鏈接
點贊
收藏

51CTO技術棧公眾號

欧美人与性禽动交精品| 欧美高跟鞋交xxxxxhd| 国产天堂在线播放| 麻豆系列在线观看| 成人免费黄色在线| 国产精品日韩在线观看| 日韩黄色免费观看| 亚洲精品国产setv| 91精品国产一区二区三区香蕉 | 成人久久久精品国产乱码一区二区 | 久久精品国产第一区二区三区| 欧美成人午夜免费视在线看片 | 国产 欧美 自拍| 日本中文字幕不卡| 韩国视频理论视频久久| 亚洲精品自拍视频在线观看| 久久porn| 欧美一级在线视频| 久久婷婷国产91天堂综合精品| av片在线观看永久免费| 久久久www成人免费毛片麻豆| 91精品国产91久久久久青草| 国产日韩久久久| 亚洲三级视频| 欧美另类极品videosbestfree| 中文字幕丰满乱子伦无码专区| 亚洲综合色婷婷在线观看| 欧美日韩国产高清一区二区| 精品国产免费av| 四虎亚洲精品| 日韩美女啊v在线免费观看| 欧美日韩精品综合| 香蕉视频免费看| 国产91在线|亚洲| 91香蕉嫩草影院入口| 高潮毛片又色又爽免费 | 欧洲杯什么时候开赛| 亚洲激情在线观看| 欧美一级片在线免费观看| 日韩免费在线电影| 欧美日韩中文一区| 激情五月婷婷久久| 欧美精品高清| 一本久久精品一区二区| 亚欧无线一线二线三线区别| 操喷在线视频| 亚洲一区免费视频| 亚洲 欧美 综合 另类 中字| 亚洲91av| 亚洲制服丝袜av| 51xx午夜影福利| 色呦呦在线观看视频| 亚洲精品视频一区二区| 水蜜桃在线免费观看| 国产秀色在线www免费观看| 1024成人网色www| 亚洲日本无吗高清不卡| 91caoporm在线视频| 国产精品免费久久久久| 一本久道久久综合| 男人的天堂在线视频免费观看 | 天天爱天天做天天操| 黄色片网站在线观看| 亚洲乱码日产精品bd| 亚洲高潮无码久久| 国产精品偷拍| 懂色av一区二区三区| 蜜臀av午夜一区二区三区| 日韩三区免费| 91麻豆精品国产91久久久 | 杨幂一区二区三区免费看视频| 日韩成人网免费视频| 毛茸茸多毛bbb毛多视频| 国产精品羞羞答答在线观看| 中文字幕不卡av| 中文字幕亚洲欧美日韩| 999亚洲国产精| 国产成人精品av在线| 中文字幕日本人妻久久久免费| 麻豆精品一区二区三区| 99久久久久国产精品免费| 亚洲aⅴ在线观看| 国产欧美一区二区三区在线看蜜臀| 伊人情人网综合| 国产羞羞视频在线播放| 色综合激情五月| 红桃视频 国产| 国产伦精品一区二区三区在线播放| 精品无人国产偷自产在线| 欧美成人久久久免费播放| 中文字幕一区二区三区乱码图片| 性欧美长视频免费观看不卡| 成人黄色三级视频| 国产一区二区三区四区五区入口| 国产在线精品二区| 成人网视频在线观看| 一区二区三区欧美日韩| 亚洲国产精品毛片av不卡在线| 精品国产第一国产综合精品| 日韩电影免费在线观看中文字幕| 国精产品久拍自产在线网站| 在线亚洲激情| 亚洲va男人天堂| 欧美色18zzzzxxxxx| 亚洲免费视频中文字幕| 国产精品亚洲αv天堂无码| 精品国产一区二| 亚洲欧美在线免费| 精品无码久久久久久久久| 麻豆精品一区二区| 欧美日本韩国在线| 欧美videosex性欧美黑吊| 在线精品视频免费播放| 亚洲天堂av网站| 天天av综合| 日韩美女视频在线观看| 色婷婷av一区二区三| 成人免费在线视频观看| 熟妇人妻va精品中文字幕| 成人av激情人伦小说| 色偷偷88888欧美精品久久久| av黄色在线看| 成人动漫精品一区二区| 正在播放国产精品| 日韩毛片在线| 亚洲欧美制服第一页| 国产又色又爽又黄的| 岛国精品在线观看| 永久免费网站视频在线观看| 国产乱子精品一区二区在线观看| 亚洲精品自在久久| 久久久国产高清| 成人免费高清在线| 日本一本中文字幕| 美国十次综合久久| 久久香蕉频线观| 亚洲最大成人在线视频| 中文久久乱码一区二区| 成年人在线看片| 欧美人妖在线| 国产va免费精品高清在线观看| 污污的视频网站在线观看| 亚洲午夜私人影院| 国产污在线观看| 影音先锋一区| 韩国精品一区二区三区六区色诱| 国产网红在线观看| 亚洲国内精品视频| 五月天综合激情| 91影院在线观看| 啊啊啊一区二区| 中国av一区| 日韩av免费网站| www.黄在线观看| 欧美日韩一区二区在线观看视频| 亚洲一级黄色录像| 精品一区二区三区在线视频| 中文字幕欧美日韩一区二区三区| 色综合一区二区日本韩国亚洲| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 国产亚洲精品aa| 国产三级日本三级在线播放| 日本一区二区高清不卡| 成人激情免费在线| 手机在线免费看av| 日韩极品精品视频免费观看| 伊人手机在线视频| 久久久久久久久久久久久夜| 无码日韩人妻精品久久蜜桃| 99久久99热这里只有精品| 91久久精品国产91性色| 国产白丝在线观看| 亚洲欧美日韩精品久久奇米色影视| 欧美特级黄色片| 中文字幕亚洲视频| 亚洲免费观看在线| 亚久久调教视频| 宅男一区二区三区| 国产精品香蕉| 国产精品久久99久久| av毛片在线| 精品一区二区三区电影| 在线视频你懂得| 亚洲综合男人的天堂| 中文字幕一区二区人妻在线不卡| 麻豆国产精品视频| 久久人人爽人人爽人人av| 国产成人av| 444亚洲人体| 欧美专区福利免费| 久久国产精彩视频| 男男电影完整版在线观看| 欧美放荡的少妇| 天天综合网入口| 日韩一区欧美小说| 你懂得在线视频| 久久99国产乱子伦精品免费| 成人性生活视频免费看| 久久一区二区三区喷水| 久久riav二区三区| 91精品亚洲一区在线观看| 欧美中文字幕第一页| 超碰在线免费播放| 国产一区二区三区在线播放免费观看 | heyzo中文字幕在线| 中文字幕一区二区精品| 欧美一级特黄aaaaaa| 欧美日韩国产综合一区二区| 五月婷婷中文字幕| 亚洲五码中文字幕| 韩国一级黄色录像| 国产天堂亚洲国产碰碰| 亚洲精品乱码久久久久久不卡| 激情都市一区二区| 91在线视频观看免费| 亚洲一区激情| 欧美亚洲黄色片| 888久久久| 亚洲精品中文综合第一页| 亚洲欧洲av| 国产日韩欧美综合精品| 欧美成人精品午夜一区二区| 国产精品免费观看在线| 中文日产幕无线码一区二区| 欧美福利视频网站| 色av手机在线| 欧美激情国产日韩精品一区18| 香蕉视频在线播放| 一区二区三区久久精品| 精品无吗乱吗av国产爱色| 日韩av有码在线| 日本精品久久久久久| 精品久久国产老人久久综合| www.日韩高清| 日韩三级视频在线观看| 国产不卡av在线播放| 777精品伊人久久久久大香线蕉| 中国女人真人一级毛片| 欧美在线你懂的| 最新中文字幕第一页| 色av一区二区| 最新国产中文字幕| 欧美三电影在线| 在线视频免费观看一区| 6080亚洲精品一区二区| 国产乱叫456在线| 91精品国产综合久久福利软件| 国产免费高清av| 日韩精品一区二区三区在线| 亚洲av无码国产综合专区| 欧美成人在线直播| 欧美77777| 亚洲老司机av| 国产二区视频在线观看| 在线视频日韩精品| 麻豆电影在线播放| 美日韩精品免费观看视频| 欧美人与牲禽动交com| 国语自产在线不卡| 成人福利视频| 国产精品美女久久久久久免费| 久久精品国产福利| 亚洲xxxxx性| 国产精品男女| 欧美一区二区视频17c| 成人激情在线| 五月天在线免费视频| 精品成人在线| 国产亚洲天堂网| 久久福利资源站| 免费在线观看日韩av| 91麻豆产精品久久久久久 | 色小子综合网| 免费网站在线观看视频| 在线亚洲一区| 中文字幕22页| 成人动漫一区二区| 自拍偷拍你懂的| 亚洲在线免费播放| 91video| 51精品国自产在线| 亚洲 美腿 欧美 偷拍| 亚洲欧美一区二区三区久久| 免费黄网在线观看| 91黑丝高跟在线| 久久三级毛片| 国产一区喷水| 亚洲国产一成人久久精品| 黄色片网址在线观看| 久久99深爱久久99精品| 午夜av免费看| 国产精品久久久爽爽爽麻豆色哟哟| 18精品爽视频在线观看| 欧美日韩在线免费视频| 污视频在线免费观看| 久久久国产精品x99av| 亚洲精品福利电影| 亚洲a成v人在线观看| 禁果av一区二区三区| 国产一区二区三区播放| 日韩av中文在线观看| 国产麻豆剧传媒精品国产av| 国产精品久久久久久一区二区三区| 国产成人在线免费观看视频| 欧美一级在线免费| av天在线观看| 91成人福利在线| 精品网站999| 午夜精品区一区二区三| 国产亚洲激情| 中国男女全黄大片| 亚洲欧洲韩国日本视频| 国产在线观看黄色| 亚洲成人av中文字幕| 菠萝菠萝蜜在线观看| 国产精品手机播放| 久久最新网址| 精品人妻一区二区三区四区在线| 国产成人精品免费在线| 99精品中文字幕| 欧美性生活一区| 毛片在线播放网站| 欧美夜福利tv在线| 精品一区二区男人吃奶| 日韩欧美视频免费在线观看| 久久99国产精品免费| 农村老熟妇乱子伦视频| 色欧美88888久久久久久影院| 日韩一区二区三区在线观看视频| 欧美插天视频在线播放| 国产激情综合| 91xxx视频| 精品一二线国产| 精品亚洲乱码一区二区 | 亚洲欧美另类视频| 欧美刺激性大交免费视频| av在线成人| 欧洲xxxxx| 国产大片一区二区| 久草国产在线观看| 欧美精品一区二区三| caoprom在线| 精品久久久久久综合日本 | 欧美亚洲在线观看| 亚洲人和日本人hd| 国产日韩成人内射视频 | 亚洲精品久久区二区三区蜜桃臀| 首页欧美精品中文字幕| 超碰97人人干| 色婷婷亚洲精品| 在线国产情侣| 91天堂在线观看| 亚洲国产激情| 噜噜噜在线视频| 在线视频一区二区三区| 粉嫩av一区| 91久久精品美女高潮| 欧美aa国产视频| 国产激情视频网站| 色94色欧美sute亚洲线路二| 黄色片视频在线| 久久综合狠狠综合久久综合88| 秋霞精品一区二区三区| 亚洲色图美腿丝袜| 国产一区二区三区四区五区3d| av动漫免费观看| 风间由美性色一区二区三区 | 欧美卡1卡2卡| 日韩伦理av| 久久资源av| 美女视频网站黄色亚洲| 一区二区视频免费看| 欧美精品一区二区三区在线播放 | 久久精品视频18| 欧美日韩另类一区| 羞羞视频在线观看不卡| 蜜桃导航-精品导航| 秋霞电影一区二区| 九九热精彩视频| 亚洲三级 欧美三级| 国产电影一区二区| 欧美国产亚洲一区| 国产精品麻豆网站| 亚洲国产精品一| 国产精品视频一区二区三区四| 在线中文字幕亚洲| 免费在线观看你懂的| 欧美精品在线观看一区二区| 俺来也官网欧美久久精品| 欧美在线播放一区| 国产高清精品在线| 91丝袜一区二区三区| 久久69精品久久久久久久电影好 | 国产一级做a爰片久久毛片男| 91视频观看视频| www.国产精品视频| 国产99视频精品免视看7| 欧美aⅴ99久久黑人专区| 三年中国中文观看免费播放| 精品欧美久久久|