CSDN博客

img lee576
博客专家

什么是MDX

发表于2008/9/28 9:37:00  2108人阅读

什么是MDX?
多维表达式MDX (MultiDimensional Expression)是为访问Analysis Services多维结构数据Cube所开发出来的语言。 功能非常强大,可用于定义Analysis Services 计算和安全规则。如同访问关系数据库必须使用SQL 语言一样,访问Cube这种多维分析结构,就必须使用MDX语言。MDX在语法上与SQL很相似,但它却具备处理一个在线处理过程(OLAP)立体中多维 数据的更好功能。对于绝大多数的通用任务,你都可以使用MDX来获取一个立体中的信息。MDX 提供了新的脚本功能、属性层次结构、自动共存功能、子多维数据集操作、新的数据定义和数据操作语句以及新的函数和运算符。

简化信息的不同类型被称为维数(dimensions),通过多维简化大量数据的数据结构被称为一个立体(cube),简化信息被称为量度(measure)。任何一个立体都有一个或多个维数和量度。

基本语法
针对 DB2® Alphablox 立方体执行的 MDX 查询的基本语法如下所示:

SELECT {axisSpecification} ON COLUMNS,
{axisSpecification} ON ROWS
FROM cubeName
WHERE (slicerItems)
其中:axisSpecification 是一个或多个元组的集合。可以以列表形式输入元组,也可以通过            CrossJoin 函数来“生成”元组。
cubeName 是已定义的 Alphablox 立方体的名称。
slicerItems 是一个元组(通常是用逗号分隔的成员列表),将对这个元组过滤查询结果集。如果有多个切片成员,则每个成员必须来自不同的维,并且不能在查询中指定的任何轴中引用该维。

SELECT
  [Store].[Store Country].[USA].Children ON COLUMNS,
  [Product].[All Products].[Food].Children ON ROWS
  FROM [Sales]
  WHERE ([Measures].[Unit Sales])
在这种情况下,有两种axis规则,其中一个为输出的纵数,另一个为输出的行数。每一种规则都指定了维数的一部分。

0 0

相关博文

我的热门文章

img
取 消
img