当前位置: 首页 > 工具软件 > ok-mdx > 使用案例 >

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

夹谷成仁
2023-12-01

基本多维表达式 (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 子句可以为指定维度更改筛选进程,从而实现对所包含数据的精确控制。


原文:http://blog.csdn.net/welcomei/archive/2008/02/29/2132866.aspx

 类似资料: