亚洲免费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í)錄
        国产精品无码一区二区三区在| 日本一区二区国产高清在线播放| 精品久久免费国产乱色也| 国产精品一区二区三区自拍| 又大又粗又爽的少妇免费视频| 亚洲美女影院| av成人资源在线播放| 中文字幕乱码亚洲无限码| a级毛片免费完整视频| 中文字幕第七页| 日韩精品极品在线观看视频| 久久精品国产亚洲av蜜点| 亚洲欧美精品suv| 高清国产日韩欧美| 加勒比一本大道大香蕉| 午夜视频在线观看视频在线播放| 中文成人无字幕乱码精品区| 2021年国产精品每日更新| 一区二区三区成人av| 欧美男生射精高潮视频网站| 欧美大黑帍在线播放| 九九99久久精品午夜剧场免费| 丝袜美腿亚洲综合在线播放| 欧美综合天天夜夜久久| 中字乱码视频| 三级特黄60分钟在线观看| 亚洲VA欧美VA国产VA综合| 99久久婷婷国产精品综合网站 | 亚洲色大网站www永久网站| 鲁丝一区鲁丝二区鲁丝三区| 中国男女黄色完整视频| 亚洲精品久久久久中文字幕| 色丁香在线观看| 蜜桃视频一区二区三区| 色综合久久久无码中文字幕| 日日摸夜夜添狠狠添欧美| 在线观看中文字幕一区二区三区 | 人妻在卧室被老板疯狂进入国产| av中文码一区二区三区| 亚洲av精二区三区日韩| 丰满少妇呻吟高潮经历|