999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用ADOMD.NET訪問OLAP多維數據集的應用研究

2011-09-22 03:42:30許小紅
卷宗 2011年7期
關鍵詞:定義

1 ADOMD.NET結構

ADOMD.NET是一個標準的.NET數據提供者,它主要用來與多維數據源進行通信。它使用 XML for Analysis version1.1標準的數據提供者連接數據源,使用TCP/IP或HTTP流傳輸和接受SOAP請求[1]。ADOMD.NET它提供了一種編程的方法來訪問Analysis Services服務器,有了ADOMD.NET,客戶應用程序可以查詢Analysis Services服務器上的數據,還可以查看或操作Analysis Services數據庫上的結構。ADOMD.NET包含如下對象:

(1)AdomdConnection

AdomdConnection管理客戶端應用程序與多維數據服務器之間的連接,連接字符串形式與下類似:

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

(2)AdomdCommand

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

AdomdCommand提供下面的方法來執行查詢語句:

Execute:返回CellSet或AdomdDataReader對象。

ExecuteCellSet:返回CellSet對象。

ExecuteNonQuery:執行不返回結果的命令。

ExecuteReader:返回AdomdDataReader對象。

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

(3)AdomdDataReader

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

(4)CellSet

與AdomdDataReader不同,CellSet利用了一種斷開連接的結果集,它包含多維結果集的整個結構。應用程序不用與服務器保持連接就可以與結果集進行交互。

CellSet含有AXIS、SET、TUPLE、MEMBER等對象。

AXIS:軸是MDX查詢中描述維度的概念,代表查詢維度:列、行、頁等,維的集合分為Axis維和Slicer維,Axis維決定多維結果集的邊,Slicer維用來過濾多維數據。

SET:是任意個TUPLE的集合,在MDX查詢中經常用來定義軸維和切片維。

TUPLE:用來定義立方體數據的一個切片,它由一個或多個維中的MEMBER集合組成。

MEMBER:是維中的一個條目,用于描述立方體中的單元數據。

CellS單元集:CellSet還包含一個叫CellS的單元集,CellS還有MDX查詢中的度量,CellSet中,獨立單元的度量通過Values屬性來訪問,如:CellSet.Cells(X,Y,Z).Value。

2 MDX

多維表達式MDX(Multi-Dimensional Expressions)在功能上類似于關系數據庫查詢語言SQL,是一種操縱Analysis Services多維信息的語言。MDX語句可分為數據定義和數據查詢兩種類型。數據定義主要用來定義多維結構和對象(如立方體、維度等),就像使用SQL語句可以定義視圖和表等對象一樣[2]。

多維表達式(MDX)查詢采用如下方式進行構造[2]:

[WITH][,]

SELECT[[,…]]

FROM[]

[WHERE[]]

WITH語句:命名集,為可選項,當MDX中的集長而復雜、維護時冗長且難處理時,用戶可創建命名集來提高易懂性。

SELECT語句:用來選擇維度和成員,稱之為“軸維度”。允許用戶指定128個軸,前5個分別用COLUMNS,ROWS,PAGES,SECTIONS和CHAPTERS表示,后面的軸用數字來表示,一般情況下,用戶不會使用超過5個以上的軸。

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

WHERE語句:為可選項,用來將返回的數據限定為特定維度和成員條件,稱之為“切片維度”,切片維只能有一個。

3 用ADOMD.NET訪問多維數據集應用實例

3.1 開發環境

硬件平臺:主頻2.3G,內存1G,64位雙核處理器

操作系統:Windows 2003 server

數據庫:SQL Server 2005 數據庫引擎

應用平臺:SQL Server 2005 分析服務

開發平臺:Visual Studio 2005

3.2 需求分析

創建一個的簡單應用程序,訪問SQL Server 2005分析服務器上的多維數據集,顯示電信商業客戶分析系統中針對不同類型的客戶,在不同銷售區域,各類產品的話費收入情況。

3.3 部分代碼實現

(1)連接OLAP服務器

通過 Imports Microsoft.AnalysisServices.AdomdClient添加對AdomdClient引用

//連接服務器

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

Conn.Open();

(2)執行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)解析數據

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

//設置頁標題

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

//設置列標題

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)

//設置行標題

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中的單元值填充到每個選項卡頁面的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

//循環填充每頁數據

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

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

3.4 結果分析

需求中有客戶類型、銷售區域、產品三個維度,在實例中客戶類型用頁選項卡顯示,產品、銷售區域用列、行顯示,話費收入為度量值,實踐證明,用ADOMD.NET技術能很好的把MDX查詢結果與應用程序結合起來。

參考文獻

[1]王彩.基于數據倉庫和OLAP技術的故障分析應用研究[D].西安交通大學碩士學位論文.2007.05

[2]黃金釵.OLAP中查詢優化以及多維數據模型研究[D].湖南大學碩士學位論文.2009.04

作者簡介:

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

猜你喜歡
定義
以愛之名,定義成長
活用定義巧解統計概率解答題
例談橢圓的定義及其應用
題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
嚴昊:不定義終點 一直在路上
華人時刊(2020年13期)2020-09-25 08:21:32
定義“風格”
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
有壹手——重新定義快修連鎖
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 一级香蕉视频在线观看| 91精选国产大片| 国产精品开放后亚洲| 夜夜拍夜夜爽| 99精品国产电影| 伊人五月丁香综合AⅤ| 亚洲欧洲自拍拍偷午夜色| 国产一级裸网站| 久久精品91麻豆| 综合成人国产| 91精品日韩人妻无码久久| 中文字幕免费在线视频| 综合网久久| 欧美天堂久久| 国产成人综合久久精品尤物| 亚洲一欧洲中文字幕在线| 伊人久久福利中文字幕| 国产主播福利在线观看| 欧美a在线看| 国产欧美高清| 免费毛片全部不收费的| 久久无码av三级| 亚洲精品无码日韩国产不卡| 情侣午夜国产在线一区无码| 中文字幕在线观看日本| 欧美日韩北条麻妃一区二区| 国产性精品| 国产黄网站在线观看| 又猛又黄又爽无遮挡的视频网站| 婷婷六月天激情| 99在线观看免费视频| 中日韩一区二区三区中文免费视频| 国内精品免费| 五月天丁香婷婷综合久久| 欧美激情二区三区| 日韩成人在线网站| 国产精品成人一区二区不卡| 亚洲无码高清一区二区| 国产精品久久久精品三级| 毛片免费观看视频| 亚洲精品午夜无码电影网| 欧美亚洲国产精品第一页| 91色老久久精品偷偷蜜臀| 欧美在线国产| 波多野结衣无码视频在线观看| 亚洲天堂精品在线观看| 国产麻豆精品手机在线观看| 亚洲娇小与黑人巨大交| 欧美色视频在线| 日韩免费毛片| 国产成人麻豆精品| 中文字幕1区2区| 免费全部高H视频无码无遮掩| 67194在线午夜亚洲| 国产精品第页| 亚洲91在线精品| 免费毛片网站在线观看| 日韩欧美中文字幕在线韩免费 | 午夜福利在线观看入口| 日本久久久久久免费网络| 乱人伦视频中文字幕在线| 欧美日本不卡| 高h视频在线| 呦女亚洲一区精品| 精品国产中文一级毛片在线看| 青青草国产免费国产| 天堂va亚洲va欧美va国产| 国产国拍精品视频免费看 | 日韩大片免费观看视频播放| WWW丫丫国产成人精品| 亚洲欧美天堂网| 99精品久久精品| 亚洲激情区| 精品成人免费自拍视频| a级毛片免费网站| 国产凹凸一区在线观看视频| 国产激爽爽爽大片在线观看| 成人精品区| 国产亚洲视频免费播放| 亚洲一区波多野结衣二区三区| 91欧美在线| 国产麻豆91网在线看|