探秘丰富多彩的ADOMD.NET对象

开发 后端
以下先主要围绕ADOMD.NET对象进行描述.其中有一些方法和属性,简要记之.很多结构基本上可以按照ADO.NET的方式来理解。

ADOMD.NET对象对象和Measure对象有两个方法常用:Caption和UniqueName.通常来说需要获得一个维度下的所有度量值和维度,这两个属性就足够了.但有些时候把UniqueName作为动态构建MDX语句的部分会出现问题..#t#

比如,Dimension对象,我们都知道一个维度下面很可能分很多的层次,对于有层次的维度直接把其作为构建ADOMD.NET对象的一部分会提示错误,需要指明是这一层次下的具体哪一个,这些层次在ADOMD.NET对象中对应的就是Hierarchies属性,用来返回维度下的层次集合HierarchyCollection,而且其成员也是Hierarchy,对应其中的一个层次.

例如:对于时间维度,通常都会有如下的层次:年,季,月,日等.在这个时间维度中,Dimension对象"时间"其下有五个Hierarchy,它们就是年,季,月,日,当然还有时间其本身.根据Hierarchy的UniqueName属性,就可以得到其可作为动态构建MDX语句的引用。

在如下代码中,当读取到立方体中的一个维度之后,首先把维度类型为Measure的去掉,然后枚举每个维度下的所有层次,把其列出来,创建一个ADOMD.NET对象把其加入到类型为ListBox的容器中.

  1. foreach (Dimension mydim in mycubes[m].Dimensions)  
  2. {  
  3. if (mydim.DimensionType != DimensionTypeEnum.Measure)  
  4. {  
  5. foreach (Hierarchy myh in mydim.Hierarchies)  
  6. {  
  7. ListItem li = new ListItem();  
  8. li.Text = myh.Caption;  
  9. li.Value = myh.UniqueName;  
  10. lbDims.Items.Add(li);  
  11. }  
  12. }  
责任编辑:chenqingxiang 来源: 百度博客
相关推荐

2010-02-22 18:25:07

2010-02-03 18:06:42

Python语言

2010-02-05 16:28:07

Android

2010-03-03 16:08:20

Android手机系统

2010-02-26 17:54:54

python

2010-02-06 16:02:57

Android 应用程

2010-03-19 14:12:06

太网交换机

2009-12-17 14:01:44

Visual Stud

2010-02-04 14:27:11

2010-01-08 10:41:56

JSON 数据

2010-01-06 16:02:53

2009-12-18 15:49:12

ADO.NET组件

2009-12-17 14:45:37

Visual Stud

2010-01-27 10:29:39

C++代码解析

2010-01-14 15:15:39

C++Test

2009-12-31 14:56:36

ADO.NET Ent

2010-02-03 15:58:53

Python应用程序

2010-01-13 18:30:18

CC++程序设计

2010-01-12 14:52:00

C++技术

2009-12-09 10:34:10

嵌入式Linux操作系
点赞
收藏

51CTO技术栈公众号