IT技术网www.itjs.cn

当前位置:首页 > 数据库 > SQl Server > SQL Server 2008 MDX学习笔记之理解元数组

SQL Server 2008 MDX学习笔记之理解元数组

发布时间:2011-08-19 15:29 来源:未知

SQL Server 2008 MDX学习笔记之理解元数组的相关知识是本文我们主要要介绍的内容,接下来我们就开始一一介绍。

1、N维空间(N-dimensional Space)和Cube空间

SQL Server 2008 MDX学习笔记之理解元数组

SQL Server 2008 MDX学习笔记之理解元数组

SQL Server 2008 MDX学习笔记之理解元数组

类似地,我们可以用(a1,a2,….,Ax)表示X维度的一个点。

SQL Server 2008 MDX学习笔记之理解元数组

2、使用Tuples访问数据

打开MDX查询编辑器窗口,输入

SELECT  FROM [Chapter 3 Cube]  WHERE (  [Date].[Calendar Year].[All Periods],  [Date].[Fiscal Year].[All Periods],  [Product].[Category].[Bikes],  [Product].[Subcategory].[Mountain Bikes],  [Measures].[Measures].[Reseller Sales Amount]  );  /*  $26,492,684.38  */ 

上述语句中,包含五部分元组(Tuples),改变下元组(Tuples),结果相同。

SELECT  FROM [Chapter 3 Cube]  WHERE (  [Product].[Subcategory].[Mountain Bikes],  [Date].[Calendar Year].[All Periods],  [Date].[Fiscal Year].[All Periods],  [Product].[Category].[Bikes],  [Measures].[Measures].[Reseller Sales Amount]  );  /*  $26,492,684.38  */ 

3、理解Cells

每一个Cell包含了Value和FORMATTED_VALUE

SQL Server 2008 MDX学习笔记之理解元数组

可以修改默认值

SQL Server 2008 MDX学习笔记之理解元数组

关于Cell属性,请看MSDN(http://msdn.microsoft.com/zh-cn/library/ms145573.aspx)

4、使用局部元组(Partial Tuples)

SQL Server 2008 MDX学习笔记之理解元数组

当度量成员被移走时,一个局部元组(Partial Tuples)被提交,AS检查第一个默认的成员,提供缺失度量,这些度量的属性的层次结构的默认成员是Reseller Sales Amount,该成员将被应用,元组变完整。

SQL Server 2008 MDX学习笔记之理解元数组

SQL Server 2008 MDX学习笔记之理解元数组

SQL Server 2008 MDX学习笔记之理解元数组

5、使用用户层次结构生成Tuples

理解User-Hierarchy转换

SELECT  FROM [Chapter 3 Cube]  WHERE [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2003].[FY 2003];  /*  $12,000,247.33  */   SELECT  FROM [Chapter 3 Cube]  WHERE (  [Date].[Calendar Year].[CY 2003],  [Date].[Fiscal Year].[FY 2003]  );  /*  $12,000,247.33  */ 

SQL Server 2008 MDX学习笔记之理解元数组

SELECT  FROM [Chapter 3 Cube]  WHERE [Date].[Calendar-To-Fiscal Year].[Fiscal Year].[FY 2003];  /*  $15,921,423.19  */  SELECT  FROM [Chapter 3 Cube]  WHERE (  [Date].[Calendar Year].[CY 2002],  [Date].[Fiscal Year].[FY 2003]  );  /*  $15,921,423.19  */  SELECT  FROM [Chapter 3 Cube]  WHERE [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002];  /*  $24,144,429.65  */  SELECT  FROM [Chapter 3 Cube]  WHERE [Date].[Calendar Year].[CY 2002];  /*  $24,144,429.65  */ 

SQL Server 2008 MDX学习笔记之理解元数组

避免引用冲突:

SELECT  FROM [Chapter 3 Cube]  WHERE (  [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002],  [Date].[Fiscal Year].[FY 2003]  );  /*  $15,921,423.19  */ 

SQL Server 2008 MDX学习笔记之理解元数组

SELECT  FROM [Chapter 3 Cube]  WHERE (  [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002].[FY 2003],  [Date].[Fiscal Year].[FY 2003]  );  /*  $15,921,423.19  */  

SQL Server 2008 MDX学习笔记之理解元数组

而下面的引用是冲突的!

SELECT  FROM [Chapter 3 Cube]  WHERE (  [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002].[FY 2003],  [Date].[Fiscal Year].[FY 2002]  );  /*  (null)  */ 

SQL Server 2008 MDX学习笔记之理解元数组

关于SQL Server 2008 MDX学习笔记之元数组的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!