微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编程方式访问多维数据集SQLSERVER2005 Analysis Services

编程方式访问多维数据集(sqlSERVER2005 Analysis Services) 
与ADO.NET类似,ADOMD.NET也提供了一系列API用于访问多维数据集。不过与ADO.NET不同的是ADOMD.NET是通过MDX查询获取数据集,而通过MDX查询得到的数据集与普通行列数据集不同,通过MDX得到的是多维数据集,是CellSet类的一个对象,而非DataSet。

 

ADOMD.NET常用API:

ADOMD.NET中同样有Connection、Command、DataAdapter等这些在ADO.NET中常见的对象,只是名字稍有不同。在ADOMD.NET中这些对象名称是:

AdomdConnection:多维数据集连接对象

AdomdCommand:多维数据集命令对象

AdomdDataAdapter:多维数据集数据适配器对象

AdomdDataReader:多维数据集数据读取器对象

AdomdParameter: 多维数据集参数对象

CellSet:MDX查询返回的数据集(与DataSet不一样,这个对象存放的是多维数据,存放到其中的数据通过坐标轴以及每个维度的层次、元组元组成员表示),是多维数据操作中的一个非常重要的对象。

Axis:坐标轴(维)对象

       坐标轴(维)对象包括若干层次及若干元组,每个元组包括多个成员。通常情况下坐标轴(维)的层次数等于每个元组的成员个数。

CellCollection:度量值集合。多维数据集中除了维度之外还有度量数据,这些数据都存放在CellCollection对象中。

 

下面通过一段简单的代码说明如何通过代码来访问多维数据集:

 

//MDX查询语句

string mdxQuery = @"SELECT NON EMPTY 

{

[Measures].[Store Cost],

       [Measures].[Store Sales]

} ON COLUMNS, 

NON EMPTY 

{

( [Product Local].[Product Local].[Product Local].ALLMEMBERS * 

        [Product Local].[Product Class Local].[Product Class Local].ALLMEMBERS * 

        [Product Local].[Product Category].[Product Category].ALLMEMBERS * 

        [Time By Day Local].[the_month].[the_month].ALLMEMBERS 

) } DIMENSION PROPERTIES MEMBER_CAPTION,MEMBER_UNIQUE_NAME ON ROWS 

FROM [Foodmart Sale DW] ";

 

//实例化连接对象

AdomdConnection conn = 

new AdomdConnection(@"Provider=MSOLAP;Data Source=.;Integrated Security=sspI; Initial Catalog=FoodmartsaleAS");

//实例化多维数据集命令对象

AdomdCommand comm = new AdomdCommand(mdxQuery,conn);

conn.open();

CellSet cs = comm.ExecuteCellSet(); //取得多维数据集数据


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Student02370236/archive/2008/09/19/2944799.aspx

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐