基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第1頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第2頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第3頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第4頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng):.;目 次 TOC o - h z u HYPERLINK l _Toc 緒論 PAGEREF _Toc h HYPERLINK l _Toc .引言 PAGEREF _Toc h HYPERLINK l _Toc .WEB環(huán)境下的OLAP技術(shù)的背景和歷史現(xiàn)狀 PAGEREF _Toc h HYPERLINK l _Toc 系統(tǒng)設(shè)計(jì)的技術(shù)創(chuàng)新 PAGEREF _Toc h HYPERLINK l _Toc .數(shù)據(jù)倉庫技術(shù) PAGEREF _Toc h HYPERLINK l _Toc .OLAP 技術(shù) PAGEREF _Toc h HYPERLINK

2、l _Toc .數(shù)據(jù)發(fā)掘的技術(shù) PAGEREF _Toc h HYPERLINK l _Toc .OLAP與數(shù)據(jù)發(fā)掘的關(guān)系 PAGEREF _Toc h HYPERLINK l _Toc 系統(tǒng)處理方案 PAGEREF _Toc h HYPERLINK l _Toc .在WEB環(huán)境下OLAP 技術(shù)的研討 PAGEREF _Toc h HYPERLINK l _Toc .在WEB環(huán)境下OLAP 技術(shù)的實(shí)現(xiàn)方案 PAGEREF _Toc h HYPERLINK l _Toc 圖書銷售分析系統(tǒng)的總體設(shè)計(jì)和實(shí)現(xiàn) PAGEREF _Toc h HYPERLINK l _Toc .系統(tǒng)的功能 PAGEREF

3、 _Toc h HYPERLINK l _Toc .數(shù)據(jù)源設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .數(shù)據(jù)庫邏輯設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .數(shù)據(jù)庫構(gòu)造設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .圖書銷售 Analysis Services 設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .數(shù)據(jù)源設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .本系統(tǒng)設(shè)計(jì)的發(fā)掘模型 PAGER

4、EF _Toc h HYPERLINK l _Toc .系統(tǒng)界面設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .會(huì)員信息分析界面設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .系統(tǒng)圖書分析窗體設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc 總結(jié) PAGEREF _Toc h HYPERLINK l _Toc 參考文獻(xiàn) PAGEREF _Toc h 緒論引言隨著在數(shù)據(jù)庫中存儲的數(shù)據(jù)越來越多,人們曾經(jīng)不滿足于僅僅用計(jì)算機(jī)來實(shí)現(xiàn)業(yè)務(wù)的電子化,而希望從已有的數(shù)據(jù)中提煉出信息效力于決策人員。在這種情況下。OLAP作為一種強(qiáng)有力的分析和

5、決策工具,被越來越多的沒、部門運(yùn)用,同時(shí)在OLAP技術(shù)上也進(jìn)展了許多任務(wù)。但是主要任務(wù)都是集中在如何有效對數(shù)據(jù)進(jìn)展分析上。OLAP的數(shù)據(jù)倉庫是為理處理能從大量的數(shù)據(jù)中得到有用的信息而做出了很大的奉獻(xiàn)。對于一個(gè)企業(yè)而言,每天都要面臨著大量的決策問題,隨著企業(yè)市場競爭的加劇和信息社會(huì)需求的開展,企業(yè)從大量數(shù)據(jù)中提取所需的各類信息就顯得越來越重要了,傳統(tǒng)的數(shù)據(jù)庫技術(shù)是單一的數(shù)據(jù)庫資源,他適宜操作型事務(wù)處置,但對分析型處置的才干較弱。近幾年來,在信息技術(shù)領(lǐng)域興起并日益成熟的數(shù)據(jù)倉庫技術(shù)以其面向主題組織、存儲海量信息,以及在線分析支持組織機(jī)構(gòu)管理決策等優(yōu)秀功能成為和運(yùn)用的熱點(diǎn)。數(shù)據(jù)倉庫系統(tǒng)的根本功能是:

6、數(shù)據(jù)獲取、數(shù)據(jù)存儲和管理、信息的訪問。其最終目的是把分散的、不利于訪問的數(shù)據(jù)轉(zhuǎn)換成集中、一致、隨時(shí)可用的信息,即為了決策目的將不同方式的數(shù)據(jù)集合成為一種特殊的格式,建立起一種新的數(shù)據(jù)存儲體系,使數(shù)據(jù)操作環(huán)境與數(shù)據(jù)分析環(huán)境相到分別。數(shù)據(jù)倉庫利用了計(jì)算機(jī)和信息技術(shù)IT的最新開展,把那些大量的,分散的企業(yè)數(shù)據(jù)進(jìn)展集成,并從中把企業(yè)決策所需求的信息分別出來,借助OLAP利用存儲在數(shù)據(jù)倉庫中的數(shù)據(jù),去進(jìn)展各種分析操作,并以較為直觀易懂的方式將結(jié)果前往給用戶,能更加有效地支持企業(yè)的分析和決策,從而提高決策的質(zhì)量與速度。WEB環(huán)境下的OLAP技術(shù)的背景和歷史現(xiàn)狀WWWWorld Wide web技術(shù)的問世,

7、給Internet帶來了新的活力,也得到全世界的認(rèn)可和信任。隨著WEB的普及,人們之間的信息溝通更加的快捷和方便。WEB上的訪問數(shù)據(jù)庫也得到了日益廣泛的運(yùn)用,使數(shù)據(jù)庫技術(shù)不斷地開展和更新。近年來,隨著企業(yè)信息化的飛速開展。企業(yè)擁有大量業(yè)務(wù)數(shù)據(jù),但難以及時(shí)有效的利用數(shù)據(jù)信息用來給管理者做決策任務(wù)。數(shù)據(jù)倉庫技術(shù)的運(yùn)用使這個(gè)問題迎刃而解,數(shù)據(jù)倉庫正是由數(shù)據(jù)庫演化而來是為了更好的處置和維護(hù)WEB上的龐大的訪問數(shù)據(jù)和企業(yè)中的業(yè)務(wù)數(shù)據(jù)。不僅如此,數(shù)據(jù)倉庫技術(shù)還有另一方面的用途即使如何讓運(yùn)營管理者更好的運(yùn)用數(shù)據(jù)信息來做決策任務(wù),從而給企業(yè)管理者或運(yùn)營者帶來經(jīng)濟(jì)效益。為了實(shí)現(xiàn)這樣的目的還要把OLAP技術(shù)運(yùn)用于

8、數(shù)據(jù)倉庫技術(shù)上面。OLAP技術(shù)作為一種強(qiáng)大有力的分析和決策工具,被越來越多的企業(yè)管理者和運(yùn)營者運(yùn)用。為了在OLAP技術(shù)上得到更有效的數(shù)據(jù)信息,并運(yùn)用了體系構(gòu)造即是C/S構(gòu)造。在C/S體系構(gòu)造中運(yùn)用OLAP技術(shù)曾經(jīng)暴顯露很多問題。為理處理這樣的問題而進(jìn)展對WEB環(huán)境下的OLAP技術(shù)的研討和實(shí)現(xiàn)。在數(shù)據(jù)庫開展的早期,由于數(shù)據(jù)量不大而使數(shù)據(jù)庫技術(shù)的查詢功能和操作功能沒得到明顯的區(qū)分。但是隨著數(shù)據(jù)庫規(guī)模的擴(kuò)展,人們對數(shù)據(jù)的要求也有了其他的想法,比如想獲得以往的歷史數(shù)據(jù)來做決策任務(wù)使在猛烈的社會(huì)運(yùn)營中獲得勝利。管理者或運(yùn)營用戶要想拿到這樣的歷史性有用途的數(shù)據(jù)信息必需經(jīng)過復(fù)雜的查詢才干得到,特別是那些高層

9、人員更需求這樣有決議性的數(shù)據(jù)信息來做決策任務(wù)。在數(shù)據(jù)倉庫中運(yùn)用OLAP技術(shù)正好讓這樣任務(wù)得到滿足。但是如今傳統(tǒng)的基于C/S構(gòu)造的OLAP體系構(gòu)造卻帶來很多問題。傳統(tǒng)的基于C/S構(gòu)造的OLAP體系構(gòu)造,其根本流程是由熟習(xí)數(shù)據(jù)庫構(gòu)造的系統(tǒng)管理員對數(shù)據(jù)庫構(gòu)造進(jìn)展分析,根據(jù)其業(yè)務(wù)知識將數(shù)據(jù)庫中的表及字段映射為多維構(gòu)造,構(gòu)造由多維構(gòu)造構(gòu)成的超立方體,然后根據(jù)用戶分析員在運(yùn)用過程中的要求對多維視圖進(jìn)展修正,從而再次構(gòu)造超立方體,如此循環(huán)往復(fù)。這種構(gòu)造在運(yùn)用過程中暴顯露了不少的問題:如首先,顧客運(yùn)用一次而要進(jìn)展一次安裝和配置,使維護(hù)任務(wù)量大大的添加。其次,對存放在顧客端的報(bào)告的修正也是很復(fù)雜的。再者,其平安

10、性也是很薄弱的。OLAP技術(shù)是一種對數(shù)據(jù)進(jìn)展多維查詢的工具,主要是給管理者和運(yùn)營者等決策性人員運(yùn)用的,所以需求是多變性的。C/S構(gòu)造不順應(yīng)需求的多變性所帶來的要求,而有足夠靈敏性的Internet/Intranet的層構(gòu)造順應(yīng)了OLAP技術(shù)對需求的多變性的要求。系統(tǒng)設(shè)計(jì)的技術(shù)創(chuàng)新數(shù)據(jù)倉庫技術(shù)根據(jù)數(shù)據(jù)倉庫概念的含義,數(shù)據(jù)倉庫擁有以下四個(gè)特點(diǎn):面向主題。操作型數(shù)據(jù)庫的數(shù)據(jù)組織面向事務(wù)處置義務(wù),各個(gè)業(yè)務(wù)系統(tǒng)之間各自分別,而數(shù)據(jù)倉庫中的數(shù)據(jù)是按照一定的主題域進(jìn)展組織。主題是一個(gè)籠統(tǒng)的概念,是指用戶運(yùn)用數(shù)據(jù)倉庫進(jìn)展決策時(shí)所關(guān)懷的重點(diǎn)方面,一個(gè)主題通常與多個(gè)操作型信息系統(tǒng)相關(guān)。集成的。面向事務(wù)處置的操作型

11、數(shù)據(jù)庫通常與某些特定的運(yùn)用相關(guān),數(shù)據(jù)庫之間相互獨(dú)立,并且往往是異構(gòu)的。而數(shù)據(jù)倉庫中的數(shù)據(jù)是在對原有分散的數(shù)據(jù)庫數(shù)據(jù)抽取、清理的根底上經(jīng)過系統(tǒng)加工、匯總和整理得到的,必需消除數(shù)據(jù)源中的不一致性,以保證數(shù)據(jù)倉庫內(nèi)的信息是關(guān)于整個(gè)企業(yè)的一致的全局信息。 相對穩(wěn)定的。操作型數(shù)據(jù)庫中的數(shù)據(jù)通常實(shí)時(shí)更新,數(shù)據(jù)根據(jù)需求及時(shí)發(fā)生變化。數(shù)據(jù)倉庫的數(shù)據(jù)主要供企業(yè)決策分析之用,所涉及的數(shù)據(jù)操作主要是數(shù)據(jù)查詢,一旦某個(gè)數(shù)據(jù)進(jìn)入數(shù)據(jù)倉庫以后,普通情況下將被長期保管,也就是數(shù)據(jù)倉庫中普通有大量的查詢操作,但修正和刪除操作很少,通常只需求定期的加載、刷新。反映歷史變化。操作型數(shù)據(jù)庫主要關(guān)懷當(dāng)前某一個(gè)時(shí)間段內(nèi)的數(shù)據(jù),而數(shù)據(jù)倉

12、庫中的數(shù)據(jù)通常包含歷史信息,系統(tǒng)記錄了企業(yè)從過去某一時(shí)點(diǎn)(如開場運(yùn)用數(shù)據(jù)倉庫的時(shí)點(diǎn))到目前的各個(gè)階段的信息,經(jīng)過這些信息,可以對企業(yè)的開展歷程和未來趨勢做出定量分析和預(yù)測。企業(yè)數(shù)據(jù)倉庫的建立,是以現(xiàn)有企業(yè)業(yè)務(wù)系統(tǒng)和大量業(yè)務(wù)數(shù)據(jù)的積累為根底。數(shù)據(jù)倉庫不是靜態(tài)的概念,只需把信息及時(shí)交給需求這些信息的運(yùn)用者,供他們做出改善其業(yè)務(wù)運(yùn)營的決策,信息才干發(fā)揚(yáng)作用,信息才有意義。而把信息加以整理歸納和重組,并及時(shí)提供應(yīng)相應(yīng)的管理決策人員,是數(shù)據(jù)倉庫的根本義務(wù)。因此,從產(chǎn)業(yè)界的角度看,數(shù)據(jù)倉庫建立是一個(gè)工程,是一個(gè)過程。如圖.所示。圖.數(shù)據(jù)倉庫體系構(gòu)造圖數(shù)據(jù)源:是數(shù)據(jù)倉庫系統(tǒng)的根底,是整個(gè)系統(tǒng)的數(shù)據(jù)源泉。通常

13、包括企業(yè)內(nèi)部信息和外部信息。內(nèi)部信息包括存放于RDBMS中的各種業(yè)務(wù)處置數(shù)據(jù)和各類文檔數(shù)據(jù)。外部信息包括各類法律法規(guī)、市場信息和競爭對手的信息等等;數(shù)據(jù)的存儲與管理:是整個(gè)數(shù)據(jù)倉庫系統(tǒng)的中心。數(shù)據(jù)倉庫的真正關(guān)鍵是數(shù)據(jù)的存儲和管理。數(shù)據(jù)倉庫的組織管理方式?jīng)Q議了它有別于傳統(tǒng)數(shù)據(jù)庫,同時(shí)也決議了其對外部數(shù)據(jù)的表現(xiàn)方式。要決議采用什么產(chǎn)品和技術(shù)來建立數(shù)據(jù)倉庫的中心,那么需求從數(shù)據(jù)倉庫的技術(shù)特點(diǎn)著手分析。針對現(xiàn)有各業(yè)務(wù)系統(tǒng)的數(shù)據(jù),進(jìn)展抽取、清理,并有效集成,按照主題進(jìn)展組織。數(shù)據(jù)倉庫按照數(shù)據(jù)的覆蓋范圍可以分為企業(yè)級數(shù)據(jù)倉庫和部門級數(shù)據(jù)倉庫通常稱為數(shù)據(jù)集市。 OLAP效力器:對分析需求的數(shù)據(jù)進(jìn)展有效集成,

14、按多維模型予以組織,以便進(jìn)展多角度、多層次的分析,并發(fā)現(xiàn)趨勢。其詳細(xì)實(shí)現(xiàn)可以分為:ROLAP、MOLAP和HOLAP。ROLAP根本數(shù)據(jù)和聚合數(shù)據(jù)均存放在RDBMS之中;MOLAP根本數(shù)據(jù)和聚合數(shù)據(jù)均存放于多維數(shù)據(jù)庫中;HOLAP根本數(shù)據(jù)存放于RDBMS之中,聚合數(shù)據(jù)存放于多維數(shù)據(jù)庫中。前端工具:主要包括各種報(bào)表工具、查詢工具、數(shù)據(jù)分析工具、數(shù)據(jù)發(fā)掘工具以及各種基于數(shù)據(jù)倉庫或數(shù)據(jù)集市的運(yùn)用開發(fā)工具。其中數(shù)據(jù)分析工具主要針對OLAP效力器,報(bào)表工具、數(shù)據(jù)發(fā)掘工具主要針對數(shù)據(jù)倉庫。 OLAP 技術(shù)聯(lián)機(jī)分析處置OLAP主要有兩個(gè)特點(diǎn),一是在線性O(shè)n-Line,表現(xiàn)為對用戶懇求的快速呼應(yīng)和交互式操作,

15、它的實(shí)現(xiàn)是由Client/Server這種體系構(gòu)造來完成的,二是多維分析Multi-dimensional,這也是OLAP技術(shù)的中心所在。OLAP的在線性表達(dá)在于用戶的交互呼應(yīng)和快速呼應(yīng),多維性那么表達(dá)在它建立在多維視圖的根底上,對數(shù)據(jù)進(jìn)展由淺到深的分析。OLAP的用戶是企業(yè)中的專業(yè)分析人員及管理決策人員,他們在分析業(yè)務(wù)運(yùn)營的數(shù)據(jù)時(shí),從不同的角度來審視業(yè)務(wù)的衡量目的是一種很自然的思索方式。例如分析銷售數(shù)據(jù),能夠會(huì)綜合時(shí)間周期,產(chǎn)品類別,分銷渠道,區(qū)域分布,客戶等多種要素來思索。這些分析角度雖然可以經(jīng)過報(bào)表來反映,但是每一個(gè)分析的角度可以生成一張報(bào)表,各個(gè)分析角度的不同組合又可以生成不同的報(bào)表,

16、使得IT人員的任務(wù)量相當(dāng)大,而且往往難以跟上管理決策人員思索的步伐。所以O(shè)LAP的多維性較好地滿足了企業(yè)管理人員的需求。管理人員可對OLAP進(jìn)展操作,即對多維數(shù)據(jù)集中的數(shù)據(jù)進(jìn)展切片,切塊,旋轉(zhuǎn),上卷和下鉆操作,以對數(shù)據(jù)進(jìn)展分析,讓用戶多角度、多側(cè)面地去察看數(shù)據(jù)倉庫中的數(shù)據(jù),從而深化了解數(shù)據(jù)倉庫中數(shù)據(jù)所蘊(yùn)含的信息,并找出隱含在數(shù)據(jù)中的商業(yè)方式。根據(jù)綜合性數(shù)據(jù)的組織方式的不同,目前常見的OLAP主要有基于多維數(shù)據(jù)庫的MOLAP及基于關(guān)系數(shù)據(jù)庫的ROLAP兩種。MOLAP是以多維的方式組織和存儲數(shù)據(jù),ROLAP那么利用現(xiàn)有的關(guān)系數(shù)據(jù)庫技術(shù)來模擬多維數(shù)據(jù)。在數(shù)據(jù)倉庫運(yùn)用中,OLAP工具普通是數(shù)據(jù)倉庫運(yùn)

17、用的前端工具,同時(shí)OLAP工具還可以配合數(shù)據(jù)發(fā)掘進(jìn)展運(yùn)用,添加決策分析預(yù)測功能。數(shù)據(jù)倉庫的根本義務(wù)是運(yùn)用獲得的數(shù)據(jù)來進(jìn)展大量的分析,以生成支持用戶制定戰(zhàn)略決策的信息。為了讓數(shù)據(jù)倉庫能作有意義的分析,數(shù)據(jù)必需以某種方法被映射,以便用戶能利用一些數(shù)據(jù)來分析隨著時(shí)間變化各商業(yè)維度的關(guān)鍵目的的數(shù)值。數(shù)據(jù)發(fā)掘的技術(shù)數(shù)據(jù)發(fā)掘是一種數(shù)據(jù)分析工具,它從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中提取人們感興趣的數(shù)據(jù)方式、數(shù)據(jù)的普遍關(guān)系及其隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識,提取的知識表示為概念、規(guī)那么、規(guī)律、方式等方式,其目的是協(xié)助 決策者尋覓數(shù)據(jù)間潛在的關(guān)聯(lián),發(fā)現(xiàn)被忽略的要素,而

18、這些信息對預(yù)測趨勢和決策行為將起到一定的支持作用。數(shù)據(jù)庫中的數(shù)據(jù)發(fā)掘是一個(gè)多步驟的處置過程,這些步驟有:數(shù)據(jù)定義階段,主要了解相關(guān)領(lǐng)域的有關(guān)情況,熟習(xí)背景知識,弄清楚用戶決策分析對信息的要求。數(shù)據(jù)提取階段,根據(jù)要求從數(shù)據(jù)庫中提取相關(guān)的數(shù)據(jù)。數(shù)據(jù)預(yù)處置階段,主要對前一階段產(chǎn)生的數(shù)據(jù)進(jìn)展再加工,檢查數(shù)據(jù)的完好性及數(shù)據(jù)的一致性,對其中的噪音數(shù)據(jù)進(jìn)展處置,對缺損的數(shù)據(jù)進(jìn)展填補(bǔ)。數(shù)據(jù)發(fā)掘階段,主要是運(yùn)用選定的知識發(fā)現(xiàn)算法,從數(shù)據(jù)中提取出用戶所需求的知識,這些知識可以用一種特定的方式表示或運(yùn)用一些常用的表示方式。知識評價(jià)階段,將發(fā)現(xiàn)的知識以用戶能了解的方式呈現(xiàn),根據(jù)需求對知識發(fā)現(xiàn)過程中的某些處置階段進(jìn)展優(yōu)

19、化,知道滿足要求。OLAP與數(shù)據(jù)發(fā)掘的關(guān)系OLAP與數(shù)據(jù)發(fā)掘都屬于分析型工具,兩者的區(qū)別在于:數(shù)據(jù)發(fā)掘的分析過程是自動(dòng)的,用戶不用提出確切的問題,只需用發(fā)掘工具去發(fā)掘隱藏在海量數(shù)據(jù)中的方式并預(yù)測未來的趨勢,這種方式有利于發(fā)現(xiàn)未知的現(xiàn)實(shí),但缺乏引導(dǎo)的數(shù)據(jù)發(fā)掘,往往所發(fā)現(xiàn)的許多方式適用性很差。OLAP是一種自上而下、不斷深化的驗(yàn)證型分析工具,它經(jīng)常以用戶的假設(shè)為根底對數(shù)據(jù)查詢與分析,進(jìn)而提取出相關(guān)的信息。所以O(shè)LAP在數(shù)據(jù)分析方面存在著一定的局限性,即數(shù)據(jù)倉庫的構(gòu)造設(shè)計(jì)的方式不同決議了OLAP對數(shù)據(jù)的分析效果與分析層次;同時(shí)由于OLAP是用戶驅(qū)動(dòng)的,用戶對所分析問題認(rèn)識和了解程度在一定程度上會(huì)影響

20、到最終的分析結(jié)果。從對數(shù)據(jù)分析的角度看。OLAP位于較淺的層次;由于數(shù)據(jù)發(fā)掘可以發(fā)現(xiàn)OLAP所不能發(fā)現(xiàn)的更為復(fù)雜而細(xì)致的信息,因此處于相對較高的層次。OLAP與數(shù)據(jù)發(fā)掘的相互作用表達(dá)在以下幾個(gè)方面:OLAP與數(shù)據(jù)發(fā)掘同作為數(shù)據(jù)分析工具,二者相比互有優(yōu)劣。數(shù)據(jù)發(fā)掘結(jié)果的無法預(yù)測性及發(fā)掘結(jié)果能否有效等缺乏,決議了數(shù)據(jù)發(fā)掘需求另外一個(gè)分析工具作輔助,對其結(jié)果進(jìn)展驗(yàn)證。OLAP是針對多維數(shù)據(jù)庫而開發(fā)的分析工具,可以對多維數(shù)據(jù)進(jìn)展較為全面的映射。所以在數(shù)據(jù)倉庫的根底上,OLAP與數(shù)據(jù)發(fā)掘有了結(jié)合的能夠,即數(shù)據(jù)發(fā)掘的結(jié)果可以經(jīng)過OLAP進(jìn)展驗(yàn)證,數(shù)據(jù)發(fā)掘在有驗(yàn)證的前提下,其發(fā)掘結(jié)果將呈現(xiàn)螺旋式上升的過程,

21、逐漸從模糊、混沌走向明晰、客觀,進(jìn)而表現(xiàn)為有價(jià)值的知識。勝利的數(shù)據(jù)發(fā)掘需求對數(shù)據(jù)進(jìn)展探求性的分析。發(fā)掘所需的數(shù)據(jù)范圍也許只是數(shù)據(jù)倉庫的一部分,在此意義上,OLAP對多維數(shù)據(jù)的鉆取、旋轉(zhuǎn)等操作同樣可以運(yùn)用于數(shù)據(jù)發(fā)掘的過程中,作為基于數(shù)據(jù)倉庫發(fā)掘的引導(dǎo)步驟。系統(tǒng)處理方案在WEB環(huán)境下OLAP技術(shù)的研討長久以來,對數(shù)據(jù)庫的操作都有兩種不同的運(yùn)用方式。一種是日常的對數(shù)據(jù)的操作型運(yùn)用,另一種是對數(shù)據(jù)的查詢型運(yùn)用。這兩種運(yùn)用有著很大的區(qū)別,如表.。操作型運(yùn)用查詢型運(yùn)用涉及的表或字段不多涉及大量的表和字段以增刪操作為主,查詢量少不修正數(shù)據(jù),但進(jìn)展大量的查詢以業(yè)務(wù)人員運(yùn)用為主,主要是細(xì)節(jié)信息面向管理人員或決策

22、人員,關(guān)注匯總信息和導(dǎo)出信息運(yùn)用當(dāng)前數(shù)據(jù)能夠用到大量的歷史信息表.兩種運(yùn)用的區(qū)別在數(shù)據(jù)庫開展的早期,由于數(shù)據(jù)量不大,查詢型運(yùn)用和操作型運(yùn)用的區(qū)別還不太明顯。但隨著數(shù)據(jù)庫規(guī)模的逐漸增大,人們希望利用曾經(jīng)有的歷史數(shù)據(jù)來使本人在猛烈的競爭中取勝,分析人員經(jīng)常是希望從多個(gè)不同的角度來察看一個(gè)或多個(gè)目的的值,并且希望從中找到這些目的之間的關(guān)系,這些要求導(dǎo)致查詢復(fù)雜度越來越高,特別是這些查詢懇求是分析人員在分析過程中根據(jù)顯示的數(shù)據(jù)而實(shí)時(shí)產(chǎn)生的。這樣的要求是業(yè)務(wù)系統(tǒng)無法勝任的。而OLAP技術(shù)就可以處理這樣的查詢要求。OLAP操作最主要的一點(diǎn)是要給分析人員提供一個(gè)多維數(shù)據(jù)超立方體,分析人員不需求了解實(shí)踐的數(shù)據(jù)

23、庫構(gòu)造,他所看見的是與其習(xí)慣的企業(yè)邏輯構(gòu)造類似的多維構(gòu)造。根據(jù)他所關(guān)注的目的的不同,在多維構(gòu)造內(nèi)今昔感多維操作,如鉆取、上挖、漂移、切片、切塊等。數(shù)據(jù)庫管理人員的責(zé)任就是根據(jù)企業(yè)的組織構(gòu)造和實(shí)踐運(yùn)用人員的要求,在曾經(jīng)有的數(shù)據(jù)倉庫上構(gòu)造多維數(shù)據(jù)庫及多維視圖。傳統(tǒng)的基于C/S構(gòu)造的OLAP體系機(jī)構(gòu),其根本流程是由熟習(xí)數(shù)據(jù)庫構(gòu)造的系統(tǒng)管理員對數(shù)據(jù)庫構(gòu)造進(jìn)展分析,根據(jù)其業(yè)務(wù)知識將數(shù)據(jù)庫中的表及字段映射為多維構(gòu)造,構(gòu)造由多維構(gòu)造構(gòu)成的超立方體,然后根據(jù)用戶分析人員在運(yùn)用過程中的要求對多維視圖進(jìn)展修正,從而再次構(gòu)造超立方體,如此循環(huán)往復(fù)。這種構(gòu)造在運(yùn)用過程中暴顯露了不少的問題:在每一個(gè)客戶端都要安裝和配置

24、多維查詢軟件。維護(hù)任務(wù)量很大;報(bào)告內(nèi)容要根據(jù)運(yùn)用者在運(yùn)用過程中碰到的要求進(jìn)展修正,因此要維護(hù)客戶端的報(bào)告內(nèi)容一致也是很復(fù)雜的;由于報(bào)告存放在客戶端。因此能夠會(huì)被修正,從而平安性也很不好。出現(xiàn)這些問題的根本緣由是沒有留意到OLAP的特殊性:OLAP作為一個(gè)多維查詢工具,不同于傳統(tǒng)的業(yè)務(wù)系統(tǒng),主要是給管理和決策人員運(yùn)用的,需求是多變的,所以IT人員不能夠依次設(shè)計(jì)出符合分析人員要求的超立方體,需求在運(yùn)用過程中根據(jù)要求對超立方體不斷進(jìn)展調(diào)整和修正,但是這種多變性是C/S構(gòu)造所不能順應(yīng)的。而且有基于Internet/Intranet的層構(gòu)造才具有足夠的靈敏性。WEB效力器擔(dān)任完成閱讀器與OLAP效力器,

25、數(shù)據(jù)倉庫系統(tǒng)之間的通訊銜接。如圖.所示。普通來說,WEB效力器經(jīng)過運(yùn)用CGI腳本、WEB效力器API、運(yùn)用API和數(shù)據(jù)庫API等,管理閱讀器的通訊。在閱讀器端,經(jīng)過HTML、DMX、ActiveX控件、C#.NET來完成與用戶的交互截面和控件。在實(shí)現(xiàn)基于WEB的OLAP運(yùn)用時(shí),往往采用自頂向下的設(shè)計(jì)。首先要確定用戶如何在閱讀器中的到報(bào)表信息,然后再給出一系列的過程完成基于閱讀器的OLAP操作。這些過程該當(dāng)包括發(fā)布信息,提供HTTP對數(shù)據(jù)庫或運(yùn)用效力器的動(dòng)態(tài)數(shù)據(jù)懇求,設(shè)計(jì)支持分析功能的界面。在客戶端基于WEB閱讀器的OLAP報(bào)表被分為幾個(gè)層次,其中包括沒有分析功能的靜態(tài)報(bào)表和可以進(jìn)展分析的OLA

26、P運(yùn)用界面,如維的旋轉(zhuǎn),數(shù)據(jù)的鉆取等。另外,特別要提到的是,規(guī)范的HTML界面缺乏操作的靈敏與方便。C#.NET和ActiveX控件的運(yùn)用會(huì)大大提高用戶截面的友好程度,用戶經(jīng)過簡單的操作就可以完成“旋轉(zhuǎn)、“鉆取的操作。數(shù)據(jù)倉庫系統(tǒng)OLAP效力器WEB效力器客戶閱讀器 CGI API C#.NET、ActiveX 控件圖.基于WEB的OLAP構(gòu)造圖在WEB環(huán)境下OLAP技術(shù)的實(shí)現(xiàn)方案OLAP專門用于支持復(fù)雜的決策分析,支持信息管理和業(yè)務(wù)管理人員決策活動(dòng)的一種決策分析工具。它可以根據(jù)分析人員的要求,迅速、靈敏地對大量數(shù)據(jù)進(jìn)展復(fù)雜的查詢處置,并且以直觀的、容易了解的方式將查詢結(jié)果提供應(yīng)各種決策人員,

27、使他們迅速、準(zhǔn)確地掌握企業(yè)的運(yùn)營情況,了解市場需求。而要進(jìn)展OLAP多維數(shù)據(jù)分析就需求根據(jù)分析需求,同時(shí)結(jié)合數(shù)據(jù)倉庫中的數(shù)據(jù)構(gòu)造和特點(diǎn)建立OLAP多維模型。以超市銷售系統(tǒng)為例子,并對該例子的OLAP銷售多維模型進(jìn)展了設(shè)計(jì),如圖.。時(shí)間編號年季度月日食品編號時(shí)間編號客戶編號食品稱號銷售數(shù)量銷售額平均價(jià)錢食品編號食品類別編號食品稱號客戶編號區(qū)域編號客戶稱號食品類別編號食品類別稱號區(qū)域編號省市 銷售現(xiàn)實(shí)表 食品維表 食品類別維表 客戶維表 區(qū)域維表 時(shí)間維表 圖. 超市銷售分析的OLAP模型從圖中可以看出在超市銷售分析的OLAP模型中有一個(gè)銷售現(xiàn)實(shí)表,在該現(xiàn)實(shí)表中每個(gè)元組只存儲了一些指向各個(gè)維表的指

28、針即外鍵,時(shí)間編號、食品編號、客戶編號等和一些相應(yīng)的丈量數(shù)據(jù)度量值,銷售數(shù)量、銷售額和平均價(jià)錢,而與這些外鍵相對應(yīng)的主鍵那么分別存放不同的維表中時(shí)間維表、客戶維表、食品維表等。對現(xiàn)實(shí)表的查詢就是獲取指向維表的指針,當(dāng)對現(xiàn)實(shí)表的查詢與對維表的查詢結(jié)合起來的時(shí)候,就可以檢索大量的信息。一個(gè)完好的基于WEB的OLAP銷售分析系統(tǒng)由三方面組成。第一,提取、清洗數(shù)據(jù)組成數(shù)據(jù)倉庫;第二利用OLAP引擎建立相應(yīng)的銷售分析的OLAP立方體;第三運(yùn)用前端開發(fā)工具,在WEB上訪問OLAP立方體中包含的對象和集合。這里選用了SQL SERVER Analysis Services作為數(shù)據(jù)倉庫支撐平臺,SQL SER

29、VER 的Analysis Services 是一個(gè)管理多維數(shù)據(jù)集的效力器,數(shù)據(jù)源并抽取數(shù)據(jù),實(shí)現(xiàn)高效地將客戶數(shù)據(jù)加載到客戶數(shù)據(jù)倉庫中;效力器支持MDOLAP、ROLAP和HOLAP三種存儲方式,用戶本人定義運(yùn)用的存儲方式,定義各個(gè)維度并建立銷售多維數(shù)據(jù)集,從而完成整個(gè)銷售過程。圖書銷售分析系統(tǒng)的總體設(shè)計(jì)和實(shí)現(xiàn) 系統(tǒng)的功能本系統(tǒng)的功能可以劃分為會(huì)員分析和圖書分析兩大部分(如圖.圖書小時(shí)分析系統(tǒng)功能構(gòu)造圖。圖書銷售分析系統(tǒng)會(huì)員分析圖書分析分析會(huì)員級別分析會(huì)員消費(fèi)分析會(huì)員類型分析圖書引薦銷售趨勢分析銷售關(guān)聯(lián)分析圖書銷量分析圖書定價(jià)分析圖.圖書銷售分析系統(tǒng)功能構(gòu)造圖其中會(huì)員分析是對書店注冊會(huì)員的信息

30、進(jìn)展分析,詳細(xì)功包括:會(huì)員級別分析:根據(jù)會(huì)員的個(gè)人信息來預(yù)測該會(huì)員最有能夠成為哪級會(huì)員。會(huì)員消費(fèi)分析:根據(jù)會(huì)員的個(gè)人信息來預(yù)測該會(huì)員在書店的消費(fèi)類型。會(huì)員類型分析:根據(jù)會(huì)員的個(gè)人信息和消費(fèi)記錄來對會(huì)員進(jìn)展自動(dòng)分類。圖書引薦:根據(jù)會(huì)員的以往購書記錄來向引薦其他能夠感興趣的圖書。其中圖書分析那么是對書店圖書的信息進(jìn)展分析,詳細(xì)功能包括:銷售趨勢分析:根據(jù)圖書的歷史銷售信息來預(yù)測未來的銷售額。圖書銷量分:根據(jù)圖書的根本信息來預(yù)測其銷量。銷售關(guān)聯(lián)分析:分析哪些圖書經(jīng)常會(huì)被一同銷售。圖書定價(jià)分析:根據(jù)圖書的根本信息來估算定價(jià)。 數(shù)據(jù)源設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫邏輯設(shè)計(jì)根據(jù)系統(tǒng)的需求分析定義系統(tǒng)中的實(shí)體,并采用

31、E-R圖來如圖.圖書銷售E-R圖表現(xiàn)實(shí)體之間的邏輯關(guān)系。在關(guān)系圖中主要有會(huì)員和圖書兩個(gè)實(shí)體,會(huì)員買書的一些情況和引薦書的情況。圖書中包含了圖書的銷售量等相關(guān)信息。會(huì)員會(huì)員號姓名入會(huì)時(shí)間級別生日地域地址性別郵箱積分圖書國際規(guī)范圖書號圖書號光盤書名存儲量出版日期價(jià)錢上架時(shí)間頁數(shù)條碼號買書引薦書銷售數(shù)據(jù)銷售量會(huì)員號銷售時(shí)間引薦數(shù)據(jù)書號類型折扣情況級別折扣率NNNN級別號 圖.圖書銷售E-R圖數(shù)據(jù)庫構(gòu)造設(shè)計(jì)在邏輯設(shè)計(jì)的根底上,進(jìn)展了構(gòu)造設(shè)計(jì),數(shù)據(jù)庫的設(shè)計(jì)主要有五個(gè)數(shù)據(jù)表和三個(gè)視圖,下面分別對五個(gè)數(shù)據(jù)表和三個(gè)視圖進(jìn)展闡明。會(huì)員表:主要是記錄會(huì)員的姓名、性別、地址、號碼、會(huì)員號、會(huì)員的級別、會(huì)員的入會(huì)時(shí)間

32、。這些對視圖進(jìn)展查詢有很大用途,同時(shí)對分析進(jìn)展預(yù)測提供了可靠的信息資源。圖書表:主要是記錄圖書的名字、出版時(shí)間、國際規(guī)范圖書號、內(nèi)帶光盤、存儲量、上架日期、條碼、價(jià)錢、書的頁數(shù)買書的記錄表:主要記錄會(huì)員買書的情況,里面記錄會(huì)員的會(huì)員號、買書的時(shí)間、買書消費(fèi)額。折扣表:主要是記錄會(huì)員的級別所打的折扣。表內(nèi)包括級別和折扣率。圖書銷售情況表:主要記錄圖書銷售的情況。主要記錄圖書號、圖書的銷售額、圖書銷售的數(shù)量、圖書銷售的折扣。圖書視圖:主要是進(jìn)展圖書與會(huì)員的綜合查詢,它包含了圖書的根本信息和銷售情況匯總。圖書銷售視圖:主要是對圖書的銷售情況的綜合查詢,它包含了圖書的銷售細(xì)明信息。圖書每周銷售視圖:主

33、要是對圖書進(jìn)展每周的銷售情況的綜合查詢,它包含了圖書每周銷售銷量的信息。以下是五個(gè)數(shù)據(jù)表:表.會(huì)員表、表.圖書表、表.買書的記錄表、表.折扣表、表.圖書銷售表。列名數(shù)據(jù)類型允許空IDIntNameNvarchar()LevelsSmallintYRegTimeSmalldatetimeYGenderBitYBirthdaySmalldatetimeYDegreeNvarchar()YAreaNvarchar()YAddressNvarchar()YephoneNvarchar()YNvarchar()YScoreIntY表.會(huì)員表列名數(shù)據(jù)類型允許空IDIntISBNNchar()NameNva

34、rchar()CategoryIDIntYAuthorNvarchar()YPressNvarchar()YPublishDateSmalldatetimeYPriceSmallmoneyPagesSmallintYBarcodeNchar()CDBitYStorageIntYShelfDateSmalldatetimeY表.圖書表列名數(shù)據(jù)類型允許空IDIntCustomerIDIntYSumSmallmoneyYTimesmalldatetime表.買書的記錄表列名數(shù)據(jù)類型允許空LevelsIntDiscountFloat表.折扣表列名數(shù)據(jù)類型允許空IDIntSellIDIntBookIDI

35、ntNumberIntDiscountFloatYSumSmallmoneyY表.圖書銷售表以下是三個(gè)視圖表:表.圖書視圖、表.圖書銷售視圖、表.圖書每周銷售視圖。列別名表輸出排序類型排序順序分組根據(jù)挑選器IDBookY 升序Group ByNameBookYGroup ByCategoryBookCategoryYGroup ByPressBookYGroup ByPriceBookYGroup ByRagesBookYGroup ByCDBookYGroup ByNumberSellNumberSellItemYSumSumSellSumSellItemYSumShelfDateBookY

36、Group By表.圖書視圖表.圖書視圖的綜合查詢的內(nèi)部代碼為:SELECT TOP() PERCENT dbo.Book.ID, dbo.Book.Name, dbo.BookCategory.Category, dbo.Book.Press, dbo.Book.Price, dbo.Book.Pages, dbo.Book.CD,SUM(dbo.SellItem.Number) AS SellNumber,SUM(dbo.SellItem.Sum) AS SellSum, dbo.Book.ShelfDateFROM dbo.Book INNER JOINdbo.BookCategory

37、ON dbo.Book.CategoryID = dbo.BookCategory.ID INNER JOINdbo.SellItem ON dbo.Book.ID = dbo.SellItem.BookIDGROUP BY dbo.Book.ID, dbo.Book.Name, dbo.BookCategory.Category, dbo.Book.Press, dbo.Book.Price, dbo.Book.Pages, dbo.Book.CD,dbo.Book.ShelfDateORDER BY dbo.Book.ID列別名表輸出排序類型排序順序分組根據(jù)挑選器IDSellItemYID

38、SellIDSellYCustomerIDSellYTimeSellYBookIDSellItemYISBNBookYNameBookYPressBookYPriceBookYNumberSellItemYDiscountSellItemYSumSellItemY表.圖書銷售視圖表.圖書銷售視圖的內(nèi)部代碼和關(guān)系圖圖.圖書銷售關(guān)系圖:SELECT dbo.SellItem.ID, dbo.Sell.ID AS SellID, dbo.Sell.CustomerID, dbo.Sell.Time, dbo.SellItem.BookID, dbo.Book.ISBN, dbo.Book.Name,

39、 dbo.Book.Press, dbo.Book.Price, dbo.SellItem.Number, dbo.SellItem.Discount, dbo.SellItem.SumFROM dbo.Sell INNER JOIN dbo.SellItem ON dbo.SellItem.SellID = dbo.Sell.ID INNER JOIN dbo.Book ON dbo.Book.ID = dbo.SellItem.BookID圖.圖書銷售關(guān)系圖列別名表輸出排序類型排序順序分組根據(jù)DATEPART(week,dbo.sell.Time)WeekY升序Group ByIDBook

40、Y升序Group BySumSellSumSellItemYSum表.圖書每周銷售視圖表.圖書每周銷售視圖的內(nèi)部代碼為:SELECT TOP () PERCENT DATEPART(week, dbo.Sell.Time) AS Week, dbo.Book.ID, SUM(dbo.SellItem.Sum) AS SellSumFROM dbo.Sell INNER JOIN dbo.SellItem ON dbo.Sell.ID = dbo.SellItem.SellID INNER JOIN dbo.Book ON dbo.SellItem.BookID = dbo.Book.IDGRO

41、UP BY DATEPART(week, dbo.Sell.Time), dbo.Book.IDORDER BY Week, dbo.Book.ID 設(shè)計(jì)好了以上的表和視圖是為了對其中的數(shù)據(jù)進(jìn)展預(yù)測和分析,這些創(chuàng)建給以后的實(shí)現(xiàn)部分做了很好的鋪墊。圖書銷售 Analysis Services 設(shè)計(jì)數(shù)據(jù)源設(shè)計(jì) 在數(shù)據(jù)源設(shè)計(jì)運(yùn)用了數(shù)據(jù)發(fā)掘技術(shù),首先用“數(shù)據(jù)源導(dǎo)游將數(shù)據(jù)中表.會(huì)員表、表.圖書視圖、表.圖書銷售視圖、表.圖書每周銷售視圖參與工程的數(shù)據(jù)源試圖中。其中會(huì)員表中存儲了書店注冊會(huì)員的根本個(gè)人信息;同時(shí)為了支持?jǐn)?shù)據(jù)的分析,設(shè)計(jì)中還要向會(huì)員表中添加兩個(gè)計(jì)算列。兩個(gè)計(jì)算列分別為Age和DayConsu

42、me。它們的表達(dá)式分別為“YEAR(GETDATE()-YEAR(dbo.Customer.Birthday)和“CAST(Score AS Decimal)/DATEDIFF(DAY,RegTime,GETDATE() 是用來計(jì)算會(huì)員的年齡和會(huì)員的積分除以其注冊天數(shù)以得到該會(huì)員的日平均消費(fèi)金額。合理地運(yùn)用計(jì)算列,可以大大方便發(fā)掘構(gòu)造和發(fā)掘模型的創(chuàng)建,同時(shí)防止修正源數(shù)據(jù)庫中的根底表格和視圖。在Analysis Services工程中也需求向圖書表中參與兩個(gè)計(jì)算器分別DaySellNumber和DaySellSum,計(jì)算表達(dá)式為:“SellNumber/DATEDIFF(DAY,ShelfDat

43、e,GETDATE()、“SellSum/DATEDIFF(DAY,ShelfDate,GETDATE()。它們是用來計(jì)算圖書日均銷量。為了對會(huì)員購書的有關(guān)信息進(jìn)展發(fā)掘,在數(shù)據(jù)源視圖中還應(yīng)將會(huì)員表和圖書銷售視圖關(guān)聯(lián)起來。如圖.數(shù)據(jù)源視圖圖書銷售圖。如圖.數(shù)據(jù)源視圖圖書銷售圖數(shù)據(jù)源的設(shè)計(jì)對以后數(shù)據(jù)發(fā)掘起到?jīng)Q議的作用。在本設(shè)計(jì)中運(yùn)用了多個(gè)數(shù)據(jù)發(fā)掘的方法。這些方法大大方便了界面的分析和預(yù)測。管理者經(jīng)過預(yù)測的信息知道內(nèi)部圖書銷售的各個(gè)情況和了解會(huì)員的相關(guān)活動(dòng)信息。本系統(tǒng)設(shè)計(jì)的發(fā)掘模型貝葉斯發(fā)掘模型:是用來對會(huì)員級別的分析。主要運(yùn)用了“Microsoft Nave Bayes發(fā)掘技術(shù)對數(shù)據(jù)源視圖中的會(huì)員

44、表作為事例對Levels和DayConsume列作為可預(yù)測列進(jìn)展預(yù)測。決策樹發(fā)掘模型:來分析會(huì)員的消費(fèi)程度最有能夠處在哪個(gè)區(qū)間,主要運(yùn)用“Microsoft 決策樹發(fā)掘技術(shù)對數(shù)據(jù)源視圖中的會(huì)員表作為事例對Levels進(jìn)展忽略,而對DayConsume進(jìn)展可預(yù)測。聚類分析發(fā)掘模型:是用來分析會(huì)員的年齡和學(xué)歷進(jìn)展分析。是忽略Area、Levels、Gender,而Age和Degree作為輸入列對DayConsume進(jìn)展預(yù)測。關(guān)聯(lián)規(guī)那么發(fā)掘模型:用于分析會(huì)員與圖書之間的關(guān)聯(lián),進(jìn)而向會(huì)員引薦其他能夠感興趣圖書。在設(shè)計(jì)中用會(huì)員表作為事例表嵌套圖書銷售表,Gender、Age、Degree、Area作為輸

45、入列,BookSell進(jìn)展預(yù)測。時(shí)序發(fā)掘模型:是用于圖書的分析,用每周銷售視圖來做事例,ID和 Week作為輸入鍵對SellSum進(jìn)展預(yù)測。神經(jīng)網(wǎng)絡(luò)發(fā)掘模型:是預(yù)測新書的銷量,圖書表作為事例,Category、Press、Price、Pages和CD列進(jìn)展輸入,對DaySellNumber進(jìn)展預(yù)測。順序分析發(fā)掘模型:用于實(shí)現(xiàn)圖書銷售的關(guān)聯(lián)分析,會(huì)員表作為事例,圖書銷售表銷售表作為嵌套表,對Name進(jìn)展預(yù)測。線性回歸發(fā)掘模型:是對圖書價(jià)錢的預(yù)測,圖書表作為事例,Pages為輸入列,對Price進(jìn)展預(yù)測。.系統(tǒng)界面設(shè)計(jì).會(huì)員信息分析界面設(shè)計(jì) 對于會(huì)員信息分析的Windows窗體設(shè)計(jì)視圖如圖.所示。

46、在對應(yīng)的窗體類CustomerAnalysisForm.cs中定義了如下成員字段: protected SqlConnection _connDatabase; protected AdomdConnection _connAnalysis;protected AdomdCommand _cmd;其中前兩個(gè)數(shù)據(jù)銜接對象分別指向SQL Server數(shù)據(jù)庫BookSell和Analysis Server數(shù)據(jù)庫,后一個(gè)數(shù)據(jù)命令對象那么用于在Analysis Services數(shù)據(jù)庫上執(zhí)行DMX查詢對象的創(chuàng)建都在窗體的構(gòu)造函數(shù)中完成:public CustomerAnalysisForm(SqlConn

47、ection connectionDatabase, AdomdConnection connectionAnalysis) _connDatabase = connectionDatabase; _connAnalysis = connectionAnalysis; _cmd = _connAnalysis.CreateCommand(); InitializeComponent(); 窗體在初始化和封鎖將翻開和封鎖相應(yīng)的數(shù)據(jù)銜接;窗體的初始化過程同時(shí)還運(yùn)用SQL數(shù)據(jù)命令將一切會(huì)員的ID號載入到“會(huì)員編號組合框cmbcustomerID中:private void CustomerAnaly

48、sisForm_Load(object sender, EventArgs e) SqlCommand cmd = new SqlCommand(SELECT DISTINCT ID FROM Customer ORDER BY ID, _connDatabase); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read() cmbCustomerID.Items.Add(reader); reader.Close(); dgvLevels.AutoGenerateColumns = false; 圖.會(huì)員分析窗體Cust

49、omerAnalysisForm選擇會(huì)員編號并按下“載入會(huì)員信息按鈕后,程序?qū)⒃俅谓?jīng)過SQL命令來讀取會(huì)員的個(gè)人信息,并顯示在窗體上部的各個(gè)控件中: private void btnLoadInfo_Click(object sender, EventArgs e) if (cmbCustomerID.Text = ) MessageBox.Show(會(huì)員編號不能為空, 錯(cuò)誤, MessageBoxButtons.OK, MessageBoxIcon.Error); return; SqlCommand cmd = _connDatabase.CreateCommand(); cmd.Comm

50、andText = SELECT Birthday, Area, Degree, Gender, RegTime, Levels, Score FROM Customer WHERE ID= + cmbCustomerID.Text; SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read() dtpBirthday.Value = (DateTime)reader; if (reader != DBNull.Value) cmbArea.Text = reader.ToString(); if (reader != DBNull

51、.Value) cmbDegree.Text = reader.ToString(); if (bool)reader) rdbMale.Checked = true; else rdbFemale.Checked = true; dtpRegTime.Value = (DateTime)reader; cmbLevel.Text = reader.ToString(); nudScore.Value = (int)reader; reader.Close(); 窗體下部是一個(gè)TabControl容器控件,它的個(gè)TabPage頁分別用于實(shí)現(xiàn)會(huì)員的級別分析、消費(fèi)分析、類型分析和圖書引薦功能。當(dāng)用

52、戶按下“會(huì)員級別標(biāo)簽頁中的“預(yù)測按鈕后,程序首先根據(jù)相關(guān)輸入來構(gòu)造DXM預(yù)測查詢字符串,而后調(diào)用貝葉斯模型CustomerLevels來預(yù)測會(huì)員級別:private void btnPredictLevels_Click(object sender, EventArgs e) if (cmbArea.Text = | cmbDegree.Text = ) MessageBox.Show(地域或?qū)W歷不能為空, 錯(cuò)誤, MessageBoxButtons.OK, MessageBoxIcon.Error); return; int iAge = DateTime.Now.Year - dtpBir

53、thday.Value.Year; _cmd.CommandText = string.Format(SELECT Predict(Levels), PredictHistogram(Levels) From CustomerLevels NATURAL PREDICTION JOIN (SELECT AS Age, AS Area, AS Degree, AS Gender) AS t, iAge, cmbArea.Text, cmbDegree.Text, rdbMale.Checked); AdomdDataReader reader = _cmd.ExecuteReader(); if

54、 (reader.Read() MessageBox.Show(string.Format(該會(huì)員最有能夠成為級會(huì)員, reader), 預(yù)測結(jié)果); AdomdDataReader reader = (AdomdDataReader)reader; DataTable table = new DataTable(); table.Load(reader); dgvLevels.DataSource = table; reader.Close(); 留意在上面的DXM預(yù)測查詢中運(yùn)用了Predice和PredictHistogram兩個(gè)預(yù)測函數(shù),其中后者前往的結(jié)果包含會(huì)員到達(dá)各個(gè)級別的概率和支持

55、計(jì)數(shù),詳細(xì)信息將顯示在DataGridView控件中。窗體對會(huì)員級別的預(yù)測效果如圖.所示。圖.預(yù)測會(huì)員級別類似的,當(dāng)用戶按下“會(huì)員消費(fèi)標(biāo)簽頁的“預(yù)測按鈕后,程序?qū)⒄{(diào)用決策樹模型CustomerConsume來預(yù)測會(huì)員的消費(fèi)程度:private void btnPredictConsume_Click(object sender, EventArgs e) if (cmbArea.Text = | cmbDegree.Text = ) MessageBox.Show(地域或?qū)W歷不能為空, 錯(cuò)誤, MessageBoxButtons.OK, MessageBoxIcon.Error); retur

56、n; int iAge = DateTime.Now.Year - dtpBirthday.Value.Year; _cmd.CommandText = string.Format(SELECT Predict(Dayconsume), PredictHistogram(Dayconsume) From CustomerConsume NATURAL PREDICTION JOIN (SELECT AS Age, AS Area, AS Degree, AS Gender) AS t, iAge, cmbArea.Text, cmbDegree.Text, rdbMale.Checked);

57、AdomdDataReader reader = _cmd.ExecuteReader(); if (reader.Read() MessageBox.Show(該會(huì)員最有能夠?qū)儆?+ that.GetConsumeDescription(double)reader); AdomdDataReader reader = (AdomdDataReader)reader; dgvConsume.Rows.Clear(); double dConsume; while (reader.Read() if(readerDayconsume != null & double.TryParse(reade

58、rDayconsume.ToString(), out dConsume) dgvConsume.Rows.Add(that.GetConsumeDescription(dConsume), reader$PROBABILITY, reader$SUPPORT); reader.Close(); reader.Close(); 在預(yù)測輸出時(shí),程序經(jīng)過成員方法GetConsumeDescription將日均消費(fèi)數(shù)值轉(zhuǎn)換為消費(fèi)程度的文字描畫;對會(huì)員消費(fèi)的預(yù)測效果如圖.所示。protected string GetConsumeDescription(double consume) if (cons

59、ume = ) return 忠實(shí)會(huì)員; else return 普通會(huì)員; 圖.預(yù)測會(huì)員消費(fèi)程度再看“會(huì)員消費(fèi)標(biāo)簽頁中的“預(yù)測按鈕,其單擊事件處置代碼中調(diào)用了聚類分析模型CustomerType來預(yù)測會(huì)員類型,窗體的預(yù)測效果如圖.所示。private void btnPredictType_Click(object sender, EventArgs e) if (cmbDegree.Text = ) MessageBox.Show(學(xué)歷不能為空, 錯(cuò)誤, MessageBoxButtons.OK, MessageBoxIcon.Error); cmbDegree.Focus(); retu

60、rn; int iAge = DateTime.Now.Year - dtpBirthday.Value.Year; int iRegDays = (DateTime.Now - dtpRegTime.Value).Days + ; decimal dDayConsume = nudScore.Value / iRegDays; _cmd.CommandText = string.Format(SELECT Cluster(), PredictHistogram(Cluster() From CustomerType NATURAL PREDICTION JOIN (SELECT AS Age

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論