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
主站蜘蛛池模板: 2021亚洲精品不卡a| 亚洲欧洲日产国码无码av喷潮| 青青青视频免费一区二区| 国产美女久久久久不卡| 国产精品自在拍首页视频8| 全部免费毛片免费播放| 国产视频自拍一区| 久一在线视频| 国产一区二区三区免费| 在线视频精品一区| 色综合天天娱乐综合网| 网久久综合| 日韩无码视频播放| 四虎成人精品在永久免费| 久久中文字幕av不卡一区二区| 男女男精品视频| AV老司机AV天堂| 欧美天堂久久| 国产成人精品优优av| 青草国产在线视频| 欧美a在线视频| 欧美成人精品高清在线下载| 久久综合丝袜长腿丝袜| 亚洲视频欧美不卡| 欧美啪啪视频免码| 网友自拍视频精品区| 久久久成年黄色视频| 国产自在自线午夜精品视频| 亚洲日韩每日更新| 国产精品主播| 国产欧美在线| 高清色本在线www| a级毛片毛片免费观看久潮| 一级爆乳无码av| 一级成人a毛片免费播放| 人妻丰满熟妇啪啪| 麻豆精品在线视频| 国产精品熟女亚洲AV麻豆| 亚洲国产精品国自产拍A| 91午夜福利在线观看| 精品综合久久久久久97超人该| 欧美精品影院| 天天干伊人| 国产精品亚洲日韩AⅤ在线观看| 尤物午夜福利视频| 亚洲精品中文字幕午夜| 性做久久久久久久免费看| 狠狠色噜噜狠狠狠狠奇米777| 国产精品美人久久久久久AV| 狠狠亚洲五月天| 亚洲综合经典在线一区二区| 中国一级毛片免费观看| 国产一区二区三区在线观看视频| 国产女同自拍视频| 青草精品视频| 久久午夜影院| 性欧美在线| 老司机aⅴ在线精品导航| 国产成人高清精品免费软件| 亚洲最新地址| 亚洲人成色在线观看| 亚洲免费毛片| 亚洲色精品国产一区二区三区| 99热这里只有精品在线播放| 国产女人在线观看| 超薄丝袜足j国产在线视频| 波多野结衣无码AV在线| 国产免费精彩视频| 亚洲天堂在线视频| 国产成人精品男人的天堂| 亚洲第一在线播放| 毛片手机在线看| 成人在线观看一区| a亚洲天堂| 2020国产在线视精品在| 精品视频第一页| 国产偷国产偷在线高清| 热这里只有精品国产热门精品| 无码中文字幕精品推荐| 中文字幕 91| 无码中文AⅤ在线观看| 欧美精品啪啪一区二区三区|