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

数据库 SQL Server
本文我们主要介绍了SQL Server 2008 MDX 元数组的相关知识,包括N维空间和Cube空间、使用Tuples访问数据等,并通过实际的代码示例加以说明,希望能够对您有所帮助。

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查询编辑器窗口,输入

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE (  
  4. [Date].[Calendar Year].[All Periods],  
  5. [Date].[Fiscal Year].[All Periods],  
  6. [Product].[Category].[Bikes],  
  7. [Product].[Subcategory].[Mountain Bikes],  
  8. [Measures].[Measures].[Reseller Sales Amount]  
  9. );  
  10. /*  
  11. $26,492,684.38  
  12. */ 

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

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE (  
  4. [Product].[Subcategory].[Mountain Bikes],  
  5. [Date].[Calendar Year].[All Periods],  
  6. [Date].[Fiscal Year].[All Periods],  
  7. [Product].[Category].[Bikes],  
  8. [Measures].[Measures].[Reseller Sales Amount]  
  9. );  
  10. /*  
  11. $26,492,684.38  
  12. */ 

3、理解Cells

每一个Cell包含了Value和FORMATTED_VALUE

邀月工作室

可以修改默认值

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转换

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2003].[FY 2003];  
  4. /*  
  5. $12,000,247.33  
  6. */  
  7.  
  8. SELECT  
  9. FROM [Chapter 3 Cube]  
  10. WHERE (  
  11. [Date].[Calendar Year].[CY 2003],  
  12. [Date].[Fiscal Year].[FY 2003]  
  13. );  
  14. /*  
  15. $12,000,247.33  
  16. */ 

邀月工作室

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE [Date].[Calendar-To-Fiscal Year].[Fiscal Year].[FY 2003];  
  4. /*  
  5. $15,921,423.19  
  6. */  
  7. SELECT  
  8. FROM [Chapter 3 Cube]  
  9. WHERE (  
  10. [Date].[Calendar Year].[CY 2002],  
  11. [Date].[Fiscal Year].[FY 2003]  
  12. );  
  13. /*  
  14. $15,921,423.19  
  15. */  
  16. SELECT  
  17. FROM [Chapter 3 Cube]  
  18. WHERE [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002];  
  19. /*  
  20. $24,144,429.65  
  21. */  
  22. SELECT  
  23. FROM [Chapter 3 Cube]  
  24. WHERE [Date].[Calendar Year].[CY 2002];  
  25. /*  
  26. $24,144,429.65  
  27. */ 

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

避免引用冲突:

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE (  
  4. [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002],  
  5. [Date].[Fiscal Year].[FY 2003]  
  6. );  
  7. /*  
  8. $15,921,423.19  
  9. */ 

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

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE (  
  4. [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002].[FY 2003],  
  5. [Date].[Fiscal Year].[FY 2003]  
  6. );  
  7. /*  
  8. $15,921,423.19  
  9. */  

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

而下面的引用是冲突的!

  1. SELECT  
  2. FROM [Chapter 3 Cube]  
  3. WHERE (  
  4. [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002].[FY 2003],  
  5. [Date].[Fiscal Year].[FY 2002]  
  6. );  
  7. /*  
  8. (null)  
  9. */ 

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

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

【编辑推荐】

  1. SQL Server多表查询优化方案总结
  2. SQL Server数据库ISNULL函数的应用实例
  3. SQL Server数据库DATEPART的语法及使用实例
  4. SQL Server根据子节点查询所有父节点的代码示例
  5. SQL Server脏读方式数据提取之NOLOCK和READPAST
责任编辑:赵鹏 来源: 博客园
相关推荐

2011-08-19 15:48:13

SQL Server 结果集Sets使用技巧

2011-08-19 15:13:36

SQL Server MDX查询

2011-08-19 13:46:22

SQL Server 组装有序集合

2011-07-25 15:17:50

SQL SERVER数

2011-07-25 14:56:00

SQL SERVER数

2011-08-19 14:03:36

SQL Server 检索集合

2011-08-11 14:23:57

SQL Server 索引分区

2010-02-06 09:43:52

SQL Server

2011-07-25 16:13:34

SQL Server数据挖掘

2011-07-25 15:39:49

SQL SERVER数聚类算法顺序聚类算法

2011-07-26 10:16:14

SQL Server数据挖掘

2011-07-25 14:18:36

SQL Server数据挖掘

2011-08-29 11:38:18

SQL Server 联合结果集union

2011-08-29 13:10:59

SQL Server 给新加字段赋值

2009-04-10 15:37:48

SQL Server2镜像实施

2011-06-16 08:48:33

Java

2009-04-16 17:55:15

扩展热插拔SQL Server

2010-07-20 08:50:00

autoreleaseObjective C

2011-04-07 09:56:53

SQL Server 内存

2013-05-02 15:09:22

点赞
收藏

51CTO技术栈公众号