精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美成人合集magnet| 色综合久久久网| 古典武侠综合av第一页| 韩国国内大量揄拍精品视频| 日韩国产精品毛片| 特级丰满少妇一级aaaa爱毛片| 老妇喷水一区二区三区| 久久香蕉国产线看观看网| 黄色免费视频网站| 久久er热在这里只有精品66| 亚洲国产精品精华液网站| 日韩欧美在线观看强乱免费| 99国产精品久久久久久久成人| 99国产精品久久久久久久成人热| 中文字幕亚洲欧美日韩2019| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 免播放器亚洲| 久久国产天堂福利天堂| 无码国产69精品久久久久同性| 国产精品久久久久久久久久辛辛| 精品福利一区二区| 日韩video| 都市激情一区| 99久久精品一区二区| 91精品在线国产| 亚洲午夜无码久久久久| 99视频一区| 欧美激情第1页| 任我爽在线视频| 久久99国内| 亚洲精品久久久久国产| 亚洲美女www午夜| 日本精品福利视频| av电影在线播放高清免费观看| av网站免费线看精品| 亚洲最大的av网站| 97人妻精品一区二区三区软件| 丝袜诱惑亚洲看片| 欧美在线视频网站| 亚洲天堂一区在线观看| 亚洲高清毛片| 欧美精品videosex性欧美| 欧美另类videoxo高潮| 日韩av有码| 中文字幕精品久久| 91资源在线播放| 中文字幕中文字幕精品| 亚洲精品国精品久久99热| 天天躁日日躁狠狠躁免费麻豆| 久久爱www.| 欧美一区二区三区婷婷月色 | 在线国产成人影院| 色欧美日韩亚洲| 亚洲人成无码www久久久| 免费在线小视频| 欧美性xxxx极品hd满灌| aa在线免费观看| av日韩亚洲| 不卡的av在线播放| 国产精品国产自产拍高清av王其| 国产精品区一区二区三在线播放 | 91年精品国产| 老牛影视免费一区二区| 黄色软件在线| 国产精品污网站| 一本一本a久久| 成人短视频在线观看| 一区二区三区四区乱视频| 男女激情免费视频| 三级在线观看视频| 在线视频一区二区三| 欧美日韩中文不卡| 欧美日本三级| 亚洲精品v欧美精品v日韩精品| 强伦人妻一区二区三区| 成人羞羞视频播放网站| 久久九九亚洲综合| 久久精品国产亚洲AV无码麻豆| 在线亚洲成人| 国产精品三级网站| 亚洲国产精品成人久久蜜臀| 97久久超碰国产精品| 色一情一乱一伦一区二区三区| 米奇777四色精品人人爽| 亚洲一区在线观看网站| 国产男女无遮挡| 麻豆三级在线观看| 亚洲www啪成人一区二区| 欧美剧情片在线观看| 污污污www精品国产网站| 国产乱码精品一区二区三区四区| 久久伊人精品视频| 在线能看的av| 国产一区二区三区免费看| 国产一级特黄a大片99| 成人好色电影| 一区二区国产视频| 另类小说第一页| 99热这里只有精品首页| 亚洲亚裔videos黑人hd| 国产亚洲精久久久久久无码77777| 久久久精品五月天| wwwxx欧美| 午夜免费视频在线国产| 婷婷中文字幕一区三区| 色网站在线视频| 国产调教一区二区三区| 欧美精品激情视频| 中文字幕在线观看精品| 99久久综合精品| 性做爰过程免费播放| 97精品国产99久久久久久免费| 精品免费一区二区三区| 日韩一卡二卡在线观看| 久热精品在线| 国产一区二区免费电影| 国产原创精品视频| 在线精品亚洲一区二区不卡| 艳妇乳肉豪妇荡乳xxx| 亚洲网色网站| 国产精品视频999| 欧美成人免费| 婷婷久久综合九色综合伊人色| 三级黄色片免费观看| 欧美中文一区二区| 欧美在线观看网站| 手机在线观看毛片| 亚洲一区二区三区四区中文字幕| 亚洲精品电影网站| 四川一级毛毛片| 色天天综合网| 国产91在线播放精品91| 天天干天天爱天天操| 一区二区三区中文字幕电影 | 青青草免费在线视频观看| 成人做爰免费视频免费看| 亚洲欧美中文字幕在线一区| 久久狠狠高潮亚洲精品| 成年人国产精品| 国产曰肥老太婆无遮挡| 在线精品国产亚洲| 欧美日本高清视频| www.com在线观看| 一区二区三区四区亚洲| 好吊操视频这里只有精品| 伊人久久大香线蕉精品组织观看| 国产欧美亚洲视频| 欧洲不卡视频| 欧美福利视频一区| 91 在线视频| 国产精品一区久久久久| 男人天堂网站在线| 亚洲一区二区三区日本久久九| 九九热99久久久国产盗摄| www.黄色一片| 精品久久久国产精品999| 韩国三级hd两男一女| 亚洲美女少妇无套啪啪呻吟| 九九九九精品九九九九| 草草在线视频| 亚洲欧洲xxxx| 91 中文字幕| 一区二区三区四区蜜桃| 亚洲国产精品自拍视频| 葵司免费一区二区三区四区五区| 五月天综合网| 精品国产18久久久久久二百| 欧美激情免费看| 天堂在线中文| 精品视频一区二区不卡| caoporn91| 91在线码无精品| 欧美精品无码一区二区三区| 欧美韩国日本在线观看| 97夜夜澡人人双人人人喊| av中文字幕在线观看第一页| 亚洲欧美日韩精品久久亚洲区 | 国产欧美日韩在线| 日韩精品在线视频免费观看| 亚洲素人在线| 91精品啪aⅴ在线观看国产| 秋霞在线午夜| 亚洲午夜精品久久久久久性色 | 俺去亚洲欧洲欧美日韩| 亚洲成人中文字幕在线| 色综合久久中文字幕| 九九热视频在线免费观看| yourporn久久国产精品| www欧美激情| 在线免费观看欧美| 色女人综合av| 蜜桃久久久久| 国产日韩欧美中文在线播放| 暧暧视频在线免费观看| 伊人久久久久久久久久| 国产黄a三级三级看三级| 狠狠干狠狠久久| 极品久久久久久| 久久亚洲一区二区三区四区| 日本黄色一级网站| 天堂蜜桃一区二区三区| bt天堂新版中文在线地址| 大片网站久久| 久久99欧美| 7m精品国产导航在线| 国产精品丝袜高跟| 亚洲欧洲日本韩国| 欧美激情中文网| 欧美videos极品另类| 亚洲精品国产美女| 性中国古装videossex| 欧美日韩免费观看一区二区三区| 久久久国产高清| 曰韩精品一区二区| 熟女少妇a性色生活片毛片| 久久久亚洲国产美女国产盗摄| 亚洲成人激情小说| 韩国欧美国产一区| 在线免费观看视频黄| 亚洲一区二区三区高清| 99久久免费观看| 天天久久综合| 亚洲欧洲精品一区二区三区波多野1战4| 牛牛精品成人免费视频| 国产成人精品福利一区二区三区 | 黄页视频在线91| 少妇黄色一级片| 欧美中文日韩| 欧美精品99久久| 亚洲 欧美 激情 另类| 国产精品丝袜一区| 午夜理伦三级做爰电影| 91丨porny丨首页| 看全色黄大色黄女片18| 成人精品视频.| 亚洲精品久久一区二区三区777 | 激情欧美一区二区三区| 老司机午夜免费福利视频| 999精品一区| 永久久久久久| 欧美mv日韩| 亚洲欧洲久久| 91久久电影| 综合久久国产| 中文乱码免费一区二区三区下载| 91手机视频在线| 99热国内精品永久免费观看| 一区二区三区国产福利| 香蕉av一区二区| 粉嫩av一区二区三区天美传媒| 999精品一区| 亚洲精品天堂成人片av在线播放 | 亚洲一级免费观看| 蜜桃av一区二区在线观看| 尤蜜粉嫩av国产一区二区三区| 青青青伊人色综合久久| 亚洲综合婷婷久久| 国产精品 欧美精品| 日本中文字幕有码| 99视频一区二区三区| 日韩av一二区| 中文乱码免费一区二区| 少妇被躁爽到高潮无码文| 一区二区三区四区亚洲| 精品欧美一区二区三区免费观看 | 亚洲国产精品尤物yw在线观看| 久久免费黄色网址| 欧美日韩亚洲高清| 日韩国产亚洲欧美| 91精品国产91久久久久久一区二区 | 色操视频在线| 国内精品久久久久久久久| 国产伦精品一区二区三区视频金莲| 国产精品成熟老女人| 成人噜噜噜噜| 精品婷婷色一区二区三区蜜桃| 国产欧美高清视频在线| 黑人巨大国产9丨视频| 亚洲国产专区| 日韩免费高清在线| 国产精品99久久久久久宅男| 日韩大尺度视频| 国产视频一区在线观看| 福利视频第一页| 亚洲国产成人av好男人在线观看| 久久精品视频7| 欧美一区二区三区在线| 青青草视频在线观看| 国产精品99久久免费观看| 91精品久久久久久久久久另类| 澳门成人av| 天堂资源在线亚洲视频| 伊人蜜桃色噜噜激情综合| 欧美伦理片在线观看| 丁香六月久久综合狠狠色| 欧美福利第一页| 亚洲午夜免费视频| 91精品人妻一区二区三区果冻| 亚洲成人网久久久| 黄视频网站在线看| 热99精品只有里视频精品| 精品欧美视频| 亚洲国产精品久久久久婷婷老年| 亚洲午夜一级| 日韩欧美亚洲另类| 久久久五月婷婷| 日韩精品国产一区二区| 91精品国产色综合久久ai换脸| 青春有你2免费观看完整版在线播放高清 | 亚洲中文字幕无码一区| 亚洲欧美国产77777| 日韩国产成人在线| 亚洲激情视频在线观看| av免费在线观看网址| 国产激情999| 美女主播精品视频一二三四| 97超碰在线视| 韩国欧美一区二区| 99久久久无码国产精品不卡| 日韩欧美亚洲范冰冰与中字| 肥臀熟女一区二区三区| 久久精品人人做人人爽| 免费污视频在线一区| 久久久久久精| 99热精品在线观看| 无码人妻一区二区三区在线| 亚洲天天做日日做天天谢日日欢| 天堂免费在线视频| 亚洲欧美日韩精品久久奇米色影视| 川上优av中文字幕一区二区| www.成人av.com| 国产精品99免费看| 18深夜在线观看免费视频| 亚洲日本在线观看| 国产美女明星三级做爰| 精品国产一区久久久| 日韩美香港a一级毛片| 水蜜桃亚洲精品| 青草av.久久免费一区| 搡老熟女老女人一区二区| 亚洲成av人在线观看| 黄色片一区二区三区| 久久久久久亚洲精品不卡| jizz18欧美18| 三上悠亚久久精品| 99久久夜色精品国产网站| 亚洲一区欧美在线| 亚洲国产精品字幕| 超碰一区二区| 日韩三级电影| 久久精品久久99精品久久| 5566中文字幕| 欧美一级黄色录像| 欧美巨大xxxx做受沙滩| 国产精品一区二区三区四区五区 | 国产免费色视频| 色棕色天天综合网| 日韩欧美在线免费观看视频| 国产精品天天摸av网| 中文字幕视频一区二区| 日韩一区在线视频| 日韩有吗在线观看| 色欲色香天天天综合网www| 91在线丨porny丨国产| 丰满人妻一区二区三区四区| xxx一区二区| 99ri日韩精品视频| 欧美成人精品欧美一级乱| 国产亚洲精品aa午夜观看| 91成年人视频| 欧美国产日韩免费| 一本久久青青| 日本精品一区在线| 亚洲一区二区三区激情| 欧洲天堂在线观看| 91精品久久久久| 国产精品分类| 中文字幕第20页| 欧美一区二区女人| 桃色av一区二区| 中文字幕欧美日韩一区二区三区| 国产精品一二三四| 国产精品免费精品一区| 日韩在线免费高清视频| eeuss鲁片一区二区三区| 草草草在线视频| 一级中文字幕一区二区| 激情在线视频| 99re在线国产| 日本美女一区二区三区视频| 九九热只有精品| 亚洲人午夜精品免费| 欧美经典一区| 爆乳熟妇一区二区三区霸乳| 亚洲自拍另类综合| 91在线看片| 久久久久高清| 国产精品一二一区| 国产精品露脸视频| 97精品一区二区三区|