《Microsoft SQL Server 2008 MDX Step by Step》学习笔记二:理解元数组(Tuples)

本文介绍了SQLServer2008中使用MDX查询Cube空间的方法,包括如何通过元组(Tuples)提取数据、理解Cell属性、使用局部元组(Partial Tuples)以及利用用户层次结构生成元组等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL Server 2008中SQL应用系列及BI笔记系列--目录索引

导读:本文介绍元数组(Tuples)的基础内容,已经了解的读者可以直接略过。

本文将包括以下内容:

■1、理解cube空间的概念。

■2、使用tuples从Cube中提取数据。

■3、使用多种语法引用层次结构成员(hierarchy members)。

本文所用数据库和所有源码,请到微软官网下载

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

邀月工作室

邀月工作室

邀月工作室

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

邀月工作室

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 */

4、理解Cells

每一个Cell包含了Value和FORMATTED_VALUE

邀月工作室

可以修改默认值

邀月工作室

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

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

邀月工作室

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

邀月工作室

6、使用用户层次结构生成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 */

邀月工作室

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 */

邀月工作室

避免引用冲突

SELECT FROM [Chapter 3 Cube] WHERE ( [Date].[Calendar-To-Fiscal Year].[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].[FY 2003], [Date].[Fiscal Year].[FY 2003] ) ; /* $15,921,423.19 */

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

邀月工作室

本文对tuples有了一个初步的介绍,下文将关注MDX基础的另一个概念:结果集(Sets)。

参考资源:

1、MDX官方教程(http://msdn.microsoft.com/zh-cn/library/ms145506.aspx

邀月注:本文版权由邀月和优快云共同所有,转载请注明出处。
助人等于自助!
3w@live.cn


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值