• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用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ù)器開(kāi)銷。

      (4)CellSet

      與AdomdDataReader不同,CellSet利用了一種斷開(kāi)連接的結(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 開(kāi)發(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ù)

      開(kāi)發(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
      三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
      作文語(yǔ)句實(shí)錄
      墨江| 漳平市| 韶山市| 沧源| 泊头市| 交城县| 连平县| 六盘水市| 从江县| 柳林县| 延庆县| 岱山县| 信宜市| 江达县| 黔西县| 古丈县| 哈尔滨市| 庆城县| 长海县| 乌鲁木齐市| 遂昌县| 天全县| 固始县| 辽宁省| 大理市| 武强县| 余干县| 台州市| 蒙城县| 会理县| 屏边| 勐海县| 航空| 中牟县| 天气| 德惠市| 永嘉县| 晋江市| 巴塘县| 阿克苏市| 托克逊县|