MDX基础知识小结_第1页
MDX基础知识小结_第2页
MDX基础知识小结_第3页
MDX基础知识小结_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.MDX培训内容1.1MDX介绍MDX(Multi-DimensionExpressions,多维表达式)是标准的OLAP查询语言,支持多维对象与数据的定义和操作。与SQL语言类似,不仅在Sqlserver多维分析数据库中应用,也可用在SAS或者cogonos中。每个MDX查询都要求有数据请求(SELECT子句)、起始点(FROM子句)和筛选(WHERE子句)。这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据的特定部分。MDX还提供了可靠的函数集,用来对所检索的数据进行操作,同时还具有用户定义函数扩展MDX的能力。1.2MDX基本概念1.2.1CUBE的基本结构CUBE(多维数据集):多维数据集是联机分析处理(OLAP)中的主要对象,是一项可对数据仓库中的数据进行快速访问的技术。多维数据集是一个数据集合,通常从数据仓库的子集构造,并组织和汇总成一个由一组维度和度量值定义的多维结构。维度:维度是属性的集合,这些属性是由数据源中数据表的列来提供的维度属性(dimensionattribute):是组成维度集合的各个值键属性:构成维度的属性中,数据表的主键属性层次结构:属性层次结构是包含以下级别的属性成员层次结构:•包含所有非重复属性成员的叶级别,叶级别的各个成员也称为“叶成员”。•中间级别(如果属性层次结构为父子层次结构)。•可选的“(全部)”级别(lsAggregatable=True),它包含属性层次结构的叶成员的聚合值。“(全部)”级别的成员也称为“(全部)”成员。级别:级别是维度层次结构的一个元素。级别描述了数据的层次结构,从数据的最高(汇总程度最大)级别直到最低(最详细)级别;每个维度又包含源自属性的“级别”。成员:一个成员是维度(包括度量维Measures)上的一个项目值,时间维度上“年”级别的成员可能有2000、2001,月成员有1、2、3等等。度量值:度量实际上是属于度量维的成员。如度量UnitSales的UniqueName为[Measures].[UnitSales]。

st达荷州匝工厂位适西部上半年第召羊医怎二季廣第三丰.底所右工厂的位宜得克萨斯卅缅因州东都2371SUMst达荷州匝工厂位适西部上半年第召羊医怎二季廣第三丰.底所右工厂的位宜得克萨斯卅缅因州东都2371SUM43702443196442032D33104&34124W4193020334272画固,n演玄饮刘I:Sii为州便无沪所州1.2.2成员、元组、集合成员(member):任意维度上的某一个单元元组(tuple):CUBE上的一个单元,它从一个或者几个维度上各取一个成员,用小括号括起来,表示这些成员所限定的范围。每个维度上至多有一个member,—个元组至少有一个维度。✓集合(set):同一个维度上的若干成员的集合,或是多维数据库中若干个元组的集合,用花括号括起来。集合必须是对称的。1.2.3表达式表示方法维度、级别、成员等,一般用唯一名称UniqueName来标示,可以用[]包围name,如果name有空格或者以数字开头,必须使用[],否则可以忽略。UniqueName是根据层级结构表示的一种方法。即递归显示出祖先的名称。维度(Dimension):维度直接用[]包围。Product的唯一名称为[Product]或Product,维度EducationLevel的唯一名称为[EducationLevel]。度量维为[Measures]。级别(Level):级别的UniqueName为[维度名称].[级别名称],如[Product]」ProductFamily],同样,如果没有空格,[]可以省略,如Product.[ProductFamily]。✓成员(Member):成员的UniqueName格式为[维度].(ParentMemberUniqueName).[MemberName],如上面时间维上的2003年2月份的UniqueName为[Time].[1].[2],中间的1为1季度,因为该维度的结构为年、季、月。✓度量(Measure):度量实际上是属于度量维的成员。如度量UnitSales的UniqueName为[Measures].[UnitSales]。UniqueName是OLAP元素内部的表示法,在MDX查询语言中,可以使用UniqueName来表示元素。同时,MDX还提供模糊和其它等价的元素标示方式。表现在:省略维度名标示级别,如果一个维度的级别名称在整个Cube中是唯一的,那么可以省略维度名来查询级别。如Product.[ProductFamily]可以写成[ProductFamily]。省略维度名标示成员,如果省略维度名,可以标示该维度最高级别的成员,如[Time].[2000]可以写成[2000],[Measures].[UnitSales]可以写成[UnitSales].成员挂在级别下,即成员不一定要写成[维度[.(ParentMemberUniqueName).[MemberName],可以写成[维度].[级别[.[MemberName].如2000年3月可以写成[Time].[Months].[3]模糊查询表示法,都基于不会重复的假设,如果有重复的元素,取第一个查找到的元素作为查询结果,可能发生错误.因此,建议使用完备的表示法.1・3MDX查询与语义1.3.1MDX基本查询MDX语句的基本结构:SELECT[axisspecification]ONCOLUMNS,[axisspecification]ONROWSFROM[cubename]WHERE[slicerspecification]基本的MDXSELECT语句包含一个SELECT子句和一个FROM子句,以及一个可选的WHERE子句。[axisspecificatioin]可以看成是轴的成员选择。[slicerspecification]表示切片上的成员,可以看成过滤信息,[slicerspecification]可选,如果没有指定,取系统默认的维度成员作为切片。查询实例:select[Measures].[OMTargetQuantity]oncolumns,[DimColor].[ColorName].membersonrowsfromOM1.3.2轴维度和切片器维度轴维度决定多维结果集的边缘,多维表达式(MDX)使用SELECT子句通过将集合指派到特定轴来指定轴维度,轴维度上的只能接受集合<set>,如果是手工指定成员集合,必须用{}包围,如果使用MDX集合函数,则不需要用{}包围,因为集合函数返回值为集合。切片器维度筛选多维数据。可以通过将切片器维度包含在多维表达式(MDX)查询的WHERE子句来限制所返回的数据。1.3.3计算成员与命名集合计算成员:Withmembers[Measures]」成员名称]as成员间的计算。计算成员并非只是可以定义度量值维度,也可以定义普通维度。withmember[DimDate].[Year].[2010to2009]as'[DimDate].[Year].&[2.01E3]-[DimDate].[Year].&[2.009E3]'member[Measures].[Profit]as'[Measures].[OMOrderAmount]-[Measures].[OMRefAmount]'select{[Measures].[OMRefAmount],[Measures].[OMOrderAmount],[Measures].[Profit]}on0,{[DimDate].[Year].&[2.01E3],[DimDate].[Year].&[2.009E3],[DimDate].[Year].[2010to/r/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论