亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用ADOMD.NET訪問(wèn)OLAP多維數(shù)據(jù)集的應(yīng)用研究

        2011-09-22 03:42:30許小紅
        卷宗 2011年7期
        關(guān)鍵詞:選項(xiàng)卡語(yǔ)句應(yīng)用程序

        1 ADOMD.NET結(jié)構(gòu)

        ADOMD.NET是一個(gè)標(biāo)準(zhǔn)的.NET數(shù)據(jù)提供者,它主要用來(lái)與多維數(shù)據(jù)源進(jìn)行通信。它使用 XML for Analysis version1.1標(biāo)準(zhǔn)的數(shù)據(jù)提供者連接數(shù)據(jù)源,使用TCP/IP或HTTP流傳輸和接受SOAP請(qǐng)求[1]。ADOMD.NET它提供了一種編程的方法來(lái)訪問(wèn)Analysis Services服務(wù)器,有了ADOMD.NET,客戶應(yīng)用程序可以查詢Analysis Services服務(wù)器上的數(shù)據(jù),還可以查看或操作Analysis Services數(shù)據(jù)庫(kù)上的結(jié)構(gòu)。ADOMD.NET包含如下對(duì)象:

        (1)AdomdConnection

        AdomdConnection管理客戶端應(yīng)用程序與多維數(shù)據(jù)服務(wù)器之間的連接,連接字符串形式與下類似:

        DataSource=serverName;Catalog=AnalSvcsDB;Provider=msolap;

        (2)AdomdCommand

        AdomdCommand管理多維服務(wù)器上查詢語(yǔ)句的執(zhí)行。查詢語(yǔ)句只能為CommandText或CommandStream屬性,且必須是目標(biāo)服務(wù)器上有效的MDX命令或者與XML/A兼容的命令。

        AdomdCommand提供下面的方法來(lái)執(zhí)行查詢語(yǔ)句:

        Execute:返回CellSet或AdomdDataReader對(duì)象。

        ExecuteCellSet:返回CellSet對(duì)象。

        ExecuteNonQuery:執(zhí)行不返回結(jié)果的命令。

        ExecuteReader:返回AdomdDataReader對(duì)象。

        ExecuteXMLReader:返回XML/A格式對(duì)象,它可以使用XMLReader查看。

        (3)AdomdDataReader

        AdomdDataReader提供了一種從查詢中讀取只向前(forward-only)結(jié)果集的方法,讀取結(jié)果集時(shí),客戶端應(yīng)用程序與數(shù)據(jù)源必須保持連接狀態(tài),它要求更多的服務(wù)器開銷。

        (4)CellSet

        與AdomdDataReader不同,CellSet利用了一種斷開連接的結(jié)果集,它包含多維結(jié)果集的整個(gè)結(jié)構(gòu)。應(yīng)用程序不用與服務(wù)器保持連接就可以與結(jié)果集進(jìn)行交互。

        CellSet含有AXIS、SET、TUPLE、MEMBER等對(duì)象。

        AXIS:軸是MDX查詢中描述維度的概念,代表查詢維度:列、行、頁(yè)等,維的集合分為Axis維和Slicer維,Axis維決定多維結(jié)果集的邊,Slicer維用來(lái)過(guò)濾多維數(shù)據(jù)。

        SET:是任意個(gè)TUPLE的集合,在MDX查詢中經(jīng)常用來(lái)定義軸維和切片維。

        TUPLE:用來(lái)定義立方體數(shù)據(jù)的一個(gè)切片,它由一個(gè)或多個(gè)維中的MEMBER集合組成。

        MEMBER:是維中的一個(gè)條目,用于描述立方體中的單元數(shù)據(jù)。

        CellS單元集:CellSet還包含一個(gè)叫CellS的單元集,CellS還有MDX查詢中的度量,CellSet中,獨(dú)立單元的度量通過(guò)Values屬性來(lái)訪問(wèn),如:CellSet.Cells(X,Y,Z).Value。

        2 MDX

        多維表達(dá)式MDX(Multi-Dimensional Expressions)在功能上類似于關(guān)系數(shù)據(jù)庫(kù)查詢語(yǔ)言SQL,是一種操縱Analysis Services多維信息的語(yǔ)言。MDX語(yǔ)句可分為數(shù)據(jù)定義和數(shù)據(jù)查詢兩種類型。數(shù)據(jù)定義主要用來(lái)定義多維結(jié)構(gòu)和對(duì)象(如立方體、維度等),就像使用SQL語(yǔ)句可以定義視圖和表等對(duì)象一樣[2]。

        多維表達(dá)式(MDX)查詢采用如下方式進(jìn)行構(gòu)造[2]:

        [WITH][,]

        SELECT[[,…]]

        FROM[]

        [WHERE[]]

        WITH語(yǔ)句:命名集,為可選項(xiàng),當(dāng)MDX中的集長(zhǎng)而復(fù)雜、維護(hù)時(shí)冗長(zhǎng)且難處理時(shí),用戶可創(chuàng)建命名集來(lái)提高易懂性。

        SELECT語(yǔ)句:用來(lái)選擇維度和成員,稱之為“軸維度”。允許用戶指定128個(gè)軸,前5個(gè)分別用COLUMNS,ROWS,PAGES,SECTIONS和CHAPTERS表示,后面的軸用數(shù)字來(lái)表示,一般情況下,用戶不會(huì)使用超過(guò)5個(gè)以上的軸。

        FROM:決定MDX查詢的多維數(shù)據(jù)集,由單個(gè)多維數(shù)據(jù)集的名稱完成,通常不允許連接。但用戶可以使用LookupCube函數(shù)從多維數(shù)據(jù)集以外的多維數(shù)據(jù)集檢索數(shù)據(jù)。

        WHERE語(yǔ)句:為可選項(xiàng),用來(lái)將返回的數(shù)據(jù)限定為特定維度和成員條件,稱之為“切片維度”,切片維只能有一個(gè)。

        3 用ADOMD.NET訪問(wèn)多維數(shù)據(jù)集應(yīng)用實(shí)例

        3.1 開發(fā)環(huán)境

        硬件平臺(tái):主頻2.3G,內(nèi)存1G,64位雙核處理器

        操作系統(tǒng):Windows 2003 server

        數(shù)據(jù)庫(kù):SQL Server 2005 數(shù)據(jù)庫(kù)引擎

        應(yīng)用平臺(tái):SQL Server 2005 分析服務(wù)

        開發(fā)平臺(tái):Visual Studio 2005

        3.2 需求分析

        創(chuàng)建一個(gè)的簡(jiǎn)單應(yīng)用程序,訪問(wèn)SQL Server 2005分析服務(wù)器上的多維數(shù)據(jù)集,顯示電信商業(yè)客戶分析系統(tǒng)中針對(duì)不同類型的客戶,在不同銷售區(qū)域,各類產(chǎn)品的話費(fèi)收入情況。

        3.3 部分代碼實(shí)現(xiàn)

        (1)連接OLAP服務(wù)器

        通過(guò) Imports Microsoft.AnalysisServices.AdomdClient添加對(duì)AdomdClient引用

        //連接服務(wù)器

        Conn = new AdomdConnection("provider=msolap;Data Source=StrServer ;Catalog =StrDatabase;");

        Conn.Open();

        (2)執(zhí)行MDX查詢

        strMdxQuery ="SELECT [Dim Channels].[Channels Name].members on pages, " &_

        " [Dim Area].[Area Name].Members on rows, " &_

        " [Dim Product].[Product Name].Members on columns, "&_

        "FROM [SalesDM] "&_

        "WHERE [measures].[SalesIncome]"

        cmd = new AdomdCommand(strMdxQuery, Conn)

        cSet = cmd.ExecuteCellSet();

        Return cSet ;

        (3)解析數(shù)據(jù)

        在三維查看器中解析數(shù)據(jù)。第一步,循環(huán)獲得Axis(2)的內(nèi)容,即頁(yè)維度成員,根據(jù)每個(gè)成員創(chuàng)建一個(gè)選項(xiàng)卡頁(yè)面。每個(gè)選項(xiàng)卡頁(yè)面有一個(gè)DataGridView,控制選項(xiàng)卡上行和列的顯示。第二步,循環(huán)獲得Axis(0)中的內(nèi)容,即列維度成員,在DataGridView中創(chuàng)建列,第三步,循環(huán)獲得Axis(1)中的內(nèi)容,即行維度成員,在DataGridView中創(chuàng)建行,最后,獲得CellSet中的單元,將其填充到每個(gè)選項(xiàng)卡頁(yè)面的DataGridView,部分代碼如下:

        //設(shè)置頁(yè)標(biāo)題

        TabForPages.TabPages.Add(cSet.Axis(2).Set.Tuples(i).Members(0).Caption);

        //設(shè)置列標(biāo)題

        DataGridViewColumn=new System.Windows.Forms.DataGridViewTextBoxColumn

        For j=0 to cSet.Axis(0).Set.Tuples.Count-1

        DataGridViewColumn.HeaderText=cSet.Axis(0).Set.

        Tuples(j).Members(0).Caption

        DataGridViewColumn.Add(DataGridViewColumn)

        //設(shè)置行標(biāo)題

        DataGridView.RowCount=cSet.Axis(1).Set.Tuples.Count

        For k=0 to cSet.Axis(1).Set.Tuples.Count-1

        DataGridView.Rows(k).HeaderCell.Value=cSet.Axis(1).Set.Tuples(k).Members(0).Caption

        //將CellSet中的單元值填充到每個(gè)選項(xiàng)卡頁(yè)面的DataGridView

        For j=0 to cSet.Axis(0).Set.Tuples.Count-1

        For k=0 to cSet.Axis(1).Set.Tuples.Count-1

        DataGridView(j,k).Value=cSet.Cells(j,k,i).Value

        //循環(huán)填充每頁(yè)數(shù)據(jù)

        For i=0 to cSet.Axis(2).Set.Tuples.Count-1

        TabForPages.TabPages(i).Controls.Add(DataGridView)

        3.4 結(jié)果分析

        需求中有客戶類型、銷售區(qū)域、產(chǎn)品三個(gè)維度,在實(shí)例中客戶類型用頁(yè)選項(xiàng)卡顯示,產(chǎn)品、銷售區(qū)域用列、行顯示,話費(fèi)收入為度量值,實(shí)踐證明,用ADOMD.NET技術(shù)能很好的把MDX查詢結(jié)果與應(yīng)用程序結(jié)合起來(lái)。

        參考文獻(xiàn)

        [1]王彩.基于數(shù)據(jù)倉(cāng)庫(kù)和OLAP技術(shù)的故障分析應(yīng)用研究[D].西安交通大學(xué)碩士學(xué)位論文.2007.05

        [2]黃金釵.OLAP中查詢優(yōu)化以及多維數(shù)據(jù)模型研究[D].湖南大學(xué)碩士學(xué)位論文.2009.04

        作者簡(jiǎn)介:

        許小紅(1979-),女,漢,江西萬(wàn)安人,碩士,主要從事信息安全與數(shù)據(jù)挖掘方面的研究。

        猜你喜歡
        選項(xiàng)卡語(yǔ)句應(yīng)用程序
        重點(diǎn):語(yǔ)句銜接
        刪除Win10中自帶的應(yīng)用程序
        禁用一切 優(yōu)化無(wú)限
        精彩語(yǔ)句
        如何搞定語(yǔ)句銜接題
        Windows 8專欄
        鼠標(biāo)滾輪隱藏在IE瀏覽器中的快捷操作
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設(shè)應(yīng)用程序下載商店
        作文語(yǔ)句實(shí)錄
        国产高清国内精品福利99久久| 欧美又粗又长又爽做受| 人妻丰满熟妇av无码区hd | 国产呦精品系列在线播放| 亚洲AV专区一专区二专区三| 久久精品一区二区熟女| 国产精品妇女一二三区| 熟妇与小伙子matur老熟妇e| 精品系列无码一区二区三区| 国产精品一区二区久久久av | 国产精品天天看大片特色视频| 99视频偷拍视频一区二区三区| 婷婷精品国产亚洲av麻豆不片| 国产69精品久久久久999小说| 无码国产精品第100页| 在线观看高清视频一区二区三区| 人妻 丝袜美腿 中文字幕| 亚洲av无码av制服丝袜在线 | 欧美亚洲国产片在线播放| 91精品啪在线观看国产色| 粉色蜜桃视频完整版免费观看在线 | 欧美成人片在线观看| 国产喷水在线观看| 亚洲国产精品免费一区| 二区免费在线视频观看| 一本一本久久aa综合精品 | 天堂Av无码Av一区二区三区| 国产三区二区一区久久| 被三个男人绑着躁我好爽视频 | 国产精品亚洲专区在线播放| 偷拍熟女露出喷水在线91| 成人欧美一区二区三区在线| a国产一区二区免费入口| 国产女主播强伦视频网站| 国产麻豆精品传媒av在线| 野外少妇愉情中文字幕| 精品九九视频| 国产精品一区二区三区av在线| 国产又粗又黄又爽的大片| 亚洲自拍另类欧美综合| 亚洲国产精品av麻豆一区|