MDX初识

一、MDX基础

 MDX是最初由MS设计,并且1998年在SSAS 7.0中引用,它MDX支持两种不同的模式:

1、表达式语言:定义和操纵SSAS对象和数据以计算。

2、查询语言:SSAS中检索数据。

一般来说:SSAS中的度量值组主要用于导航,提高可读性容易在客户端中使用,绝对不会在MDX中查询使用,但是在一些MDX函数中可以使用度量值组。

 成员:每个层次结构都包含一个或多个项,这些项就是成员。

在MDX中,某一层次结构的每个特定成员都是通过唯一名称进行标识的。有三种,如下实例:

1、[Date].[Calendar].[Q1 CY 2006]

2、[Date].[Calendar].[CY 2006].[H1 CY 2006].[Q1 CY 2006]

3、[Date].[Calendar].[Calendar Quarter].&[2006]&[1]

上面第一种是按照[维度名称].[层次结构].[成员名称]的格式表示的。没有同名的成员可以使用。

第二种是就是最安全的方式,因为完全显示了路径中的所有成员。

第三种就是键路径,路径中成员的键表示为.&[成员名称]。

单元,元组:直接上图(来源百度),

然后在用MDX结合多维数据集(MDX跟上图不一致呦),

select  Measures.[Internet Sale Amount] ON columns

from  [Adventure Works]

where ( [Date].[Calendar].[Calendar Quarter].&[2011]&[2]),[Product].[product Line].[Mountain],

[Customer].[Country].[Australia])

知道一点MDX的都看得明白,这样的查询结构,就是多维数据集中一个一个小方块体。就是单元。

在说元组:

select  Measures.[Internet Sale Amount] ON columns

from  [Adventure Works]

where  [Customer].[Country].[Australia]

这样结果集,就是多维数据集中的一个切片。从多维数据集中就可以看出,元组是由单元组成的。

:一组元组构成的新的对象就是集。这些元组是使用在类型和数量上均完全相同的一组维度定义的。

(可以简单在上图中理解为,如果同时选择了东半球的非洲、亚洲和西半球的南美洲,那么这样的结果就是非洲、亚洲、南美洲所在的切面)MDX表示: {([Customer].[Country].[Australia]),([Customer].[Country].[Canada)}

要点:

维度成员本身即构成一个元组和集

如果某个元组是仅通过一个层次结构指定的,那么不需要使用括号即可将其指定为集。

如果某个查询仅指定了一个元组,那么不需要使用花括号来指示应该将其视为集。

一般情况下尽量使用括号和花括号!

时间: 09-24

MDX初识的相关文章

初识Python,望君多多关照

在学习Python之前,我们接触过数据结构和网页制作.前者让我们学习如何把C语言运用的更加整齐规范,而后者让我们亲身学习如何运用所学,制作一个静态网页.通过这些课程的学习,让我对C语言产生了比较大的压力,以至于对编程.对这学期的Python课程都有一种如临大敌的感觉. 但是真的学习了这门课程,体会了编码过程中的一些固定运用方法和套路之后,也许过程中对这门课程隐隐约约产生了一点点朦胧的感觉,仿佛他也并没有想象中的那么困难,起码现在的学习让我认为,他可能没有C语言那么繁琐和麻烦.当然,以一个初学者的

初识数组排序!!!!

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>初识数组排序</title> <!--调试成功--> <style type="text/css"> *{ padding:0; margin: 0; } li,ul{ list-style: none; } #p

初识操作系统和linux

初识操作系统和linux 1.计算机系统由硬件系统和软件系统两大部分组成:是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动.高速地处理,然后把处理结果输出的现代化智能电子设备. 2.世界上第一台计算机是1946年诞生在美国宾州大学. 3.冯·诺依曼体系结构:1946年数学家冯·诺依曼于提出计算机硬件系统由运算器.控制器.存储器.输入设备.输出设备.摩根定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍.现在计算机技术进本很难遵

MDX跨cube查询——lookupcube

关于SSAS中从多个cube中查询数据 前提:涉及的cube在同一数据库中,维度共享(最好) SSAS中提供一条mdx语句同时从多个cube中查询数据的功能 实现该功能的就是lookupcube函数,当然前提是这两个cube在同一个数据库中,共享维度(不是共享维度能不能查还没有试验过) lookupcube函数的语法如下: LookupCube(Cube_Name, Numeric_Expression ) LookupCube(Cube_Name, String_Expression ) 其中

JAVA 初识类加载机制 第13节

JAVA 初识类加载机制 第13节 从这章开始,我们就进入虚拟机类加载机制的学习了.那么什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class文件,再由虚拟机解释给当前的操作系统去执行.这些过程都是我们看不见的,我们能看见的也就是一个.class文件.既然虚拟机要解释这些.class文件给当前的操作系统听,那么他怎么获得这些.class文件呢?虚拟机获得这些.class文件的过程就是类加载了. 所以,总结来说就是:虚拟机将.class文件从磁盘或者其他地

初识React

原文地址:北云软件-初识React 专注于UI 在MVC分层设计模式中,react常被拿来实现视图层(V).React不依赖于技术栈的其他部分,因此可以方便的在现有项目中尝试用它来实现一个小特性. 虚拟DOM React从DOM中抽象出来,给出一种更简洁的编程模型,且性能表现更好.能够通过NodeJS实现服务端渲染,通过React Native开发原生app. 数据流React实现单向.响应式数据流,减少boilerplate且比传统数据绑定更容易理解. 简洁的组件React的组件都实现了一个r

泛型的几种类型以及初识webform

今天学习的可以分为两类吧,但是学习的都是比较抽象的,不太容易掌握吧.首先我们大部分时间学习了泛型,泛型的委托,泛型接口以及枚举器,迭代器,扩展方法:最后简单的认识了webform,实现了一个简单的功能. 一.泛型 定义:泛型(generic)可以软糖多个类型共享一组代码,泛型允许我们声明类型参数化.可以用不同的类型进行实例化,说白了,就是可以用类型占位符,创建具体类型致命的真实概念.C#中提供了五种泛型,类,结构,接口,委托和方法.下面举例说明可能更容易理解, class MyStack<T>

最新计算机技术与管理科学应用专家——初识ERB

ERB管理系统:英文全称Enterprise Resource and Behavior,英文简称:ERB,中文名全称:企业资源与行为管理系统.ERB是由理文企业管理顾问有限公司首席管理师,现任商翼ERB企业管理系统项目总监吴志华先生,于2010年9月首先提出的.ERB不再单以供应链管理作为系统应用的基础,而是以企业行为与企业资源规划的最佳结合作为系统应用设计的核心基础,强调企业行为的规划.执行.监督与追溯,强调企业管理水平与员工素养的持续提升:提供企业行为与企业资源管理最佳结合的整体应用解决方

[OpenGL]环境搭建以及OpenGL初识

想往游戏行业发展的话,经常被提及到的就是OpenGL和DirectX,这两者听起来感觉是一门挺高深的技术,今天我也开始摸索学习OpenGL,那么OpenGL到底是什么?它和DirectX有什么区别和联系? OpenGL初识 OpenGL只是一套图形函数库 DirectX包含图形.声音.输入.网络等模块. 但就图形而论,DirectX的图形库性能不如OpenGL,OpenGL稳定,可以跨平台使用,DirectX只支持Windows平台,所以OpenGL还是有它的优势!OpenGL ES是OpenG