1. MDX 的基本结构 - MDX 的基本结构有三种: Members, Tuple 和 Set 
 
2. Members - 指的是维度树上的一个节点, 这里有一点需要指出, 量度也是一个特殊的维度, 所以对于普通维度上的 Member 可以有几下几种表示方法:[Customer] 或 [Time].[1996] 等. 对于特殊的维度——量度而言, 也可以表示一个 Member ,如: [Measures].[ unit sales] 等.
   Member 的表示方法就是用中括号的形式,"[……]".
 
3. Tuple - 是由若干个 Members 组成, 每一个维度上最多只能有一个 Member, 对于一个 Tuple 而言至少有一个维度, 多则不限, 同时对于没有列出来的那就表示为默认的 Member. Tuple 的表示方法是小括号"()", 因为其又有 Member 构成, 所以通常的格式为 "([…],[…][…],…)" 示例 :
  a) ([Regin ].[USA])
  b) ([product].[ computers],[time].[2008]) 
 
4. Sets - 同一维度上若干个 Members 的集合, 或者是若干个 Tuples 的集合, 但这里有一个地方需要注意, 那就是如果是若干个 Tuple 组成的集合是, 各个 Tuple 里的 Member 之间存在着一定的对应关系. 集合的表示方法用大括号"{}", 所以可能的表示方法为:
  a) {[time].[2008],[time].[2009],[time].[2000]}, 这里 Set 是由同一维度的若干个 Member 组成. 
  b) {([computer],[usa ]),([ mobile],[china])}, 这个 Set 是由两个 Tuples 组成, 这里大家可以看到, 在第一个 Tuple 当中, 第一个 Member 是名为 computer 的产品, 所以后面的 Tuple 的第一个 Member 也必须是一个产品, 所以我们这里看到的是 mobile, 第一个 Tuple 里第二个 Member 是一个国家, 所以第二个 Tuple 的第二个 Member 也必须是一个国家名, 依次类推.
  MDX 查询语句 一个标准的 MDX 查询语句就是由我们前面介绍的 MDX 的三个基本对象构成, 也就是 Member,Tuple, Set.
  一个标准的 MDX 查询的语法如下:
以下是代码片段:
 
SELECT Set ON COLUMNS,
Set ON ROWS
FROM Cube
WHERE Tuple

示例:

以下是代码片段:

SELECT
{[time].[ 1997],[time].[1998]}
ON COLUMNS,
{([product].[drink],[customer].[gender].[F]),( [product].[food],[customer].[gender].[M])}
ON ROWS
FROM [Sales]
WHERE ([Measures].[ StoreSales ])

这个MDX 查询就表示:查询时间为 1997 和 1998 两年的 drink 类产品, 女消费者和 food 类产品男消费者的 Store Sales.

文章出处:SSAS-MDX#001 - MDX 基本结构

【转载】SSAS-MDX#001 - MDX 基本结构的更多相关文章

  1. 【转载】MSDN-MDX#001 - 多维表达式 (MDX) 参考

    摘录于MSDN MDX 的一些重要概念 1. MDX 介绍 多维表达式 (MDX) 是用于在 Microsoft SQL Server Analysis Services (SSAS) 中处理和检索多 ...

  2. MDX Query - mdx的基本语法和概念

    文档: https://wenku.baidu.com/view/ef14b0e1900ef12d2af90242a8956bec0975a5e7.html?rec_flag=default http ...

  3. 【转载】quickLayout.css-快速构建结构兼容的web页面

    文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=4 ...

  4. [转载]github在线更改mysql表结构工具gh-ost

    GitHub正式宣布以开源的方式发布gh-ost:GitHub的MySQL无触发器在线更改表定义工具! gh-ost是GitHub最近几个月开发出来的,目的是解决一个经常碰到的问题:不断变化的产品需求 ...

  5. My SQL随记 001 常用名词/结构化语言

    DBMS (Database Management System) 字段/域(列名或者列头 如:姓名身高性别为字段) 姓名 身高 性别 小周周 157 女 记录(一行数据 如:小周周 157 女 ) ...

  6. 转载别人的ftp,觉得目录结构不错,学习

    开发简单的FTP:1. 用户登陆2. 上传/下载文件3. 不同用户家目录不同4. 查看当前目录下文件5. 充分使用面向对象知识 REDMAE 1 用户登陆 2 3 1.查看用户目录文件 4 2.上传文 ...

  7. 【转载】Linux 文件系统的目录结构

    /bin 基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令:比如 ls.cp.mkdir等命令:功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令.做为基础 ...

  8. [Chromium文档转载,第001章] Mojo Migration Guide

        For Developers‎ > ‎Design Documents‎ > ‎Mojo‎ > ‎ Mojo Migration Guide 目录 1 Summary 2 H ...

  9. SSAS 收藏

    1.多事实表 SQL实现和SSAS中MDX实现的差异 2.层次结构 3.MDX常用几种查询对比 4.一段话理解 MDX中的Select .轴.COLUMNS.ROWS 5.[转载]MSDN-MDX#0 ...

随机推荐

  1. nignx重启

    .进入nginx安装目录sbin下 .输入./nginx -s reload

  2. marioTcp

    https://github.com/nicholaszj/marioTcp MarioTCP MarioTCP 是使用libevent模型来建立的一个性能强大的TCP服务器. 1:Getting S ...

  3. [Training Video - 1] [Selenium Basics] [What is Selenium IDE,RC,Webdriver, TestNG, Junit And Ant]

    Selenium IDE (Only support in Firefox): - Record and Run - UI interface - User extensions - Conversi ...

  4. [Selenium]Release in dragAndDrop doesn't work after i update the version of Selenium to 2.45.0

    在升级Selenium的版本之前,写了一段拖拽的代码,Drag and Drop 都好使的, 但是,将Selenium的版本升级到2.45.0之后,图标拖拽可以成功,释放不生效. 试了N多种解决方案都 ...

  5. Greeplum 系列(七) 权限管理

    Greeplum 系列(七) 权限管理 一.角色管理 Role 分为用户(User)和组(Group),用户有 login 权限,组用来管理用户,一般不会有 login 权限.初始化 gp 时创建了一 ...

  6. 10 Consensus and Profile

    Problem A matrix is a rectangular table of values divided into rows and columns. An m×nm×n matrix ha ...

  7. 给力分享新的ORM => Dapper( 转)

    出处:http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html 最近一直很痛苦,想选一个好点的ORM来做项目,实在没遇到好的. ...

  8. BTrace追踪Hadoop部署

    Hadoop集成BTrace 1.BTrace 1.1BTrace部署 1.下载BTrace工具包,官网地址:https://kenai.com/projects/btrace/downloads/d ...

  9. leetcode-8-String to Integer (atoi) (已总结)

    8. String to Integer (atoi) Total Accepted: 93917 Total Submissions: 699588 Difficulty: Easy Impleme ...

  10. 让FIREDAC记录数据库的异常日志

    默认FIREDAC不会记录数据库的异常. 比如典型的,提交的时候,非空字段没有给值. 某些人还以为FIREDAC不能捕获数据库的异常,其实FIREDAC是可以捕获并处理数据库的异常事件的. 方法异常简 ...