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
主站蜘蛛池模板: 亚洲欧洲综合| 国产午夜看片| 国产97色在线| 伊人丁香五月天久久综合| 国内精品久久久久鸭| 日韩在线视频网| 欧美狠狠干| 美女被狂躁www在线观看| 精品国产黑色丝袜高跟鞋| 亚洲精品无码在线播放网站| 亚洲精品免费网站| 黄色a一级视频| 欧美激情第一区| 国产成人无码Av在线播放无广告| 女人爽到高潮免费视频大全| 国产jizz| 国产一级裸网站| 久久亚洲国产视频| 日本在线国产| 欧美视频在线观看第一页| 2020极品精品国产 | 亚洲无码电影| 狠狠色综合网| 精品久久久久久成人AV| 无码AV动漫| 无码内射在线| 天天综合网色中文字幕| 五月婷婷伊人网| 国产无码网站在线观看| 黄色在线不卡| 在线观看国产黄色| 日本精品一在线观看视频| 青草娱乐极品免费视频| 波多野结衣一区二区三区四区| 九九免费观看全部免费视频| 伊人久久影视| 人妻丰满熟妇AV无码区| 亚洲第一区欧美国产综合| 中文字幕丝袜一区二区| 小蝌蚪亚洲精品国产| 谁有在线观看日韩亚洲最新视频| 亚洲国产成人精品无码区性色| 新SSS无码手机在线观看| 亚洲最新网址| 亚洲男人天堂久久| 四虎永久在线精品影院| 日韩大乳视频中文字幕| 99偷拍视频精品一区二区| 欧美激情综合| 园内精品自拍视频在线播放| 欧美19综合中文字幕| 亚洲中文字幕日产无码2021| 亚洲欧美一区在线| 亚洲香蕉久久| 最新痴汉在线无码AV| 911亚洲精品| 婷婷综合缴情亚洲五月伊| 成人午夜视频免费看欧美| 国产天天射| 欧美午夜在线观看| 久久婷婷六月| 中文字幕啪啪| 国产熟女一级毛片| 中文字幕日韩久久综合影院| 欧美精品导航| 国产福利在线观看精品| 国产综合日韩另类一区二区| 亚洲美女AV免费一区| 狠狠色综合久久狠狠色综合| 精品无码一区二区三区电影| 欧美在线一级片| 欧美精品高清| 欧美精品另类| 72种姿势欧美久久久大黄蕉| 久久久久久国产精品mv| 激情午夜婷婷| www.亚洲色图.com| 91亚洲免费视频| 91丨九色丨首页在线播放 | 国产激爽大片在线播放| 亚洲v日韩v欧美在线观看| 国模极品一区二区三区|