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

 

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

 

ADOMD.NET常用API

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

AdomdConnection:多维数据集连接对象

AdomdCommand多维数据集命令对象

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

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

AdomdParameter: 多维数据集参数对象

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

Axis坐标轴(维)对象

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

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

 

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

 

  1. //MDX查询语句
  2. string mdxQuery = @"SELECT NON EMPTY 
  3. {
  4. [Measures].[Store Cost] ,
  5.        [Measures].[Store Sales]
  6. } ON COLUMNS, 
  7. NON EMPTY 
  8. {
  9. ( [Product Local].[Product Local].[Product Local].ALLMEMBERS * 
  10.         [Product Local].[Product Class Local].[Product Class Local].ALLMEMBERS * 
  11.         [Product Local].[Product Category].[Product Category].ALLMEMBERS * 
  12.         [Time By Day Local].[the_month].[the_month].ALLMEMBERS 
  13. ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
  14. FROM [Foodmart Sale DW] ";
  15. //实例化连接对象
  16. AdomdConnection conn = 
  17. new AdomdConnection(@"Provider=MSOLAP;Data Source=.;Integrated Security=SSPI; Initial Catalog=FoodmartsaleAS");
  18. //实例化多维数据集命令对象
  19. AdomdCommand comm = new AdomdCommand(mdxQuery, conn);
  20. conn.Open();
  21. CellSet cs = comm.ExecuteCellSet(); //取得多维数据集数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值