基本 MDX 查询 ( MDX 语法 教程 )

基本多维表达式 (MDX) 查询以与下面的示例类似的方式进行构造:

SELECT [<axis_specification>
       [, <axis_specification>...]]
  FROM [<cube_specification>]
[WHERE [<slicer_specification>]]
基本 MDX 语法——SELECT 语句

在 MDX 中,SELECT 语句用于指定包含多维数据的子集的数据集。为讨论 MDX SELECT 语句的各种语法元素,本主题提出一个基本 MDX 查询示例并将其分解为本身的各种语法元素以讨论各个元素的用途和结构。

若要指定数据集,MDX 查询必须包含有关下列各项的信息:

  • 轴的数目。最多可在 MDX 查询中指定 128 个轴。

  • 要包括在 MDX 查询的各个轴上的来自各个维度的成员。

  • 设置 MDX 查询上下文的多维数据集的名称。

  • 来自切片器维度的成员,在该维度上对来自轴维度的成员进行数据切片。

这些信息可能很复杂。如您在本主题中将看到的,MDX 语法可以简单且直观的方式使用 MDX SELECT 语句提供这类信息。

基本 MDX 查询示例

以下 MDX 查询示例用于讨论基本的 MDX SELECT 语句语法的各个部分:

SELECT
   { [Measures].[Unit Sales], [Measures].[Store Sales] } ON COLUMNS,
   { [Time].[1997], [Time].[1998] } ON ROWS
FROM Sales
WHERE ( [Store].[USA].[CA] )

基本的 MDX SELECT 语句包含一个 SELECT 子句和一个 FROM 子句,以及一个可选的 WHERE 子句。

SELECT 子句决定 MDX SELECT 语句的轴维度。本 MDX 查询示例中定义了两个轴维度。有关 SELECT 子句中轴维度的构造的更多信息,请参见指定轴维度的内容

FROM 子句决定当析取数据以填充 MDX SELECT 语句的结果集时将使用哪个多维数据源。有关 FROM 子句的更多信息,请参见 SELECT 语句

可选用的 WHERE 子句决定哪个维度或成员用作切片器维度;这将数据的析取限制于特定维度或成员。本 MDX 查询示例使用 WHERE 子句来将轴维度的数据析取限制于 Store 维度的特定成员。有关 WHERE 子句中切片器维度的构造的更多信息,请参见指定切片器维度的内容

MDX SELECT 语句支持 WITH 关键字之类的其它可选语法,并支持使用 MDX 函数通过计算应包含在轴或切片器维度中的内容来构造成员。有关 MDX SELECT 语句的更多信息,请参见 SELECT 语句

MDX SELECT 语句的语法格式与 SQL 语法类似;可是用户将注意到以下几个显著区别:

  • MDX 语法通过用花括号({ 和 } 字符)括住元组或成员来辨别集合。有关成员、元组和集合语法的更多信息,请参见成员、元组和集合

  • MDX 查询在 SELECT 语句中最多可以有 128 个轴维度,但只有前 5 个轴有别名。轴可以用其在 MDX 查询中的顺序位置或者用其别名(如果给它指派了别名的话)来引用。在上面的 MDX 查询示例中,使用了 COLUMNS 和 ROWS 轴别名。此 MDX 查询还可以使用各个轴的顺序位置用以下方式编写:
    SELECT
       { [Measures].[Unit Sales], [Measures].[Store Sales] } ON AXIS(0),
       { [Time].[1997], [Time].[1998] } ON AXIS(1)
    FROM Sales
    WHERE ( [Store].[USA].[CA] )
    
  • 如同 SQL 查询一样,FROM 子句为 MDX 查询指定数据的源。然而,与 SQL 查询不同的是,MDX 查询中的 FROM 子句被限定为单个多维数据集。来自其它多维数据集的信息也可以进行检索,方法是使用 LookupCube 函数逐个值地进行。

  • WHERE 子句用于描述切片器维度。如果某个维度没有作为 WHERE 子句的一部分提出,则 Microsoft® SQL Server™ 2000 Analysis Services 假定任何未指派给轴维度的维度均为切片器维度,并用其默认成员对该维度进行筛选。WHERE 子句可以为指定维度更改筛选进程,从而实现对所包含数据的精确控制。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MDX 中的重要概念 使用成员、元组和集 (MDX) MDX 语法元素 标识符 表达式 使用多维数据集表达式和子多维数据集表达式 使用维度表达式 使用成员表达式 使用元组表达式 使用集表达式 使用标量表达式 使用空值 运算符(MDX 语法) 算术运算符 位运算符 比较运算符 串联运算符 集运算符 一元运算符 赋值运算符 函数(MDX 语法) 使用字符串函数 使用数学函数 使用逻辑函数 使用成员函数 使用元组函数 使用集函数 使用维度函数、层次结构函数和级别函数 使用存储过程 (MDX) 注释(MDX 语法) 保留关键字(MDX 语法MDX 查询基础知识 基本 MDX 查询 EXISTING 关键字 用查询轴和切片器轴限定查询 指定查询轴的内容 指定切片器轴的内容 在简单示例中使用查询轴和切片器轴 在查询中建立多维数据集上下文 在 MDX 中生成子多维数据集 在 MDX 中生成命名集 创建查询作用域的命名集 创建会话作用域的命名集 在 MDX 中生成计算成员 在 MDX 中生成单元计算 创建和使用属性值 操作数据 修改数据 使用变量和参数 MDX 脚本编写基础知识 基本 MDX 脚本 管理作用域和上下文 错误处理 支持的 MDX MDX 语言参考 MDX 语法约定 MDX 语句参考 MDX 脚本编写语句 MDX 数据定义语句 MDX 数据操作语句 MDX 运算符参考 --(注释) -(排除) -(负) -(减) *(叉积) *(乘) /(除) ^(幂) /*...*/(注释) //(注释) :(范围) +(加) +(正) +(字符串串联) +(联合) <(小于) <=(小于或等于) (不等于) =(等于) >(大于) >=(大于或等于) AND IS NOT OR XOR MDX 函数参考 AddCalculatedMembers Aggregate AllMembers Ancestor Ancestors Ascendants Avg Axis BottomCount BottomPercent BottomSum CalculationCurrentPass CalculationPassValue Children ClosingPeriod CoalesceEmpty Correlation Count(维度) Count(层次结构级别) Count(集) Count(元组) Cousin Covariance CovarianceN Crossjoin Current CurrentMember CurrentOrdinal CustomData DataMember DefaultMember Descendants Dimension Dimensions Distinct DistinctCount DrilldownLevel DrilldownLevelBottom DrilldownLevelTop DrilldownMember DrilldownMemberBottom DrilldownMemberTop DrillupLevel DrillupMember Error Except Exists Extract Filter FirstChild FirstSibling Generate Head Hierarchize Hierarchy IIf Intersect IsAncestor IsEmpty IsGeneration IsLeaf IsSibling Item(成员) Item(元组) KPIGoal KPIStatus KPITrend KPIWeight KPICurrentTimeMember KPIValue Lag LastChild LastPeriods LastSibling Lead Leaves Level Levels LinkMember LinRegIntercept LinRegPoint LinRegR2 LinRegSlope LinRegVariance LookupCube Max MeasureGroupMeasures Median Members(集) Members(字符串) MemberToStr MemberValue Min Mtd Name NameToSet NextMember NonEmpty NonEmptyCrossjoin OpeningPeriod Order Ordinal ParallelPeriod Parent PeriodsToDate Predict PrevMember Properties Qtd Rank RollupChildren Root SetToArray SetToStr Sib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值