BI开发之——Mdx基础语法(2)

结合webcast中老师的讲解,现在把基础语法应用通过几个案例应用如下:

一、维度的概念

上图中一个维度(Dimension):Region

改为度下有四个级别(Levels):country、province、city、county,他们属于层次集合(Hierarchy)

通过维度和级别我们可以定义一个元素(Member)如:

Levels(1).members(2)=china

Levels(2).members(3)=shanghai

二、维度建模

上图中时一个维度建立的模型(cube)

该图中包含四个维度(Dimension):时间、源、路线、度量方式值(Measure)

源维度中包含两个级别:东半球、西半球

级别西半球中包含两个成员:北美洲、南美洲

图中一个方框就是就是一个单元:上图中240的单元表示为:

(  Sorce.[EasternHemisphere].Africa,

    Time.[2ndhalf].[4thquarter],

    Route.Air,

   Mesures.Packages

 )

图中的元组即表示一连串的方框组成的长方形集合:

{(Time.[1sthalf].[1stquarter])}记住大括号不能去掉

元组集合就是有元组组合而成:

{

(Time.[1sthalf].[1stquarter]),

  Time.[2ndhalf].[3rdquarter]

}

三、成员名称

上图中可以看出通过坐标值可以定义出每个成员的名称

比如图中黑色的成员名称:

(Products.Clothing,Measures.Units,Time.98)

这里面有个通用的技巧,就是可以根据一个成员名称追踪到旁边的成员

四、Mdx语法结构 

 和SQL语法结构类似,但是在实际应用中集(Set)往往会很长

 来看一个Mdx查询语句,我们想查询MKAS集市中上海和北京在十三号和十四号的实际销售量

 SELECT

    {[Dim Region].[City].&[上海],[Dim Region].[City].&[北京]}

 ON COLUMNS,

    {[Dim Time].[Day Of Month].&[13],[Dim Time].[Day OfMonth].&[14]}

 ON ROWS

FROM

    [MKAS]

WHERE ([Measures].[Fact Ind Count])

这里面”于“&符号可以标记出其父级中的元素集合中的值也叫做元素值。

五、切片的定义

切片(Silce)是一种操作方法,基于Tuple,而非集合(set)

 

 如上图中可以看出元组(Tuple)表示为

(0≤x≤5,1≤y≤3) 

数据集(Set)

{0≤X≤1,2≤X≤3,4≤X≤5}

切片(Slice)

 (X=1,Y=0)

Mdx和SQL的区别

引用维度的能力:SQL只能引用2个维度,MDX可以引用多个维度

创建查询的过程:SQL编写1个或多个表的查询,MDX编写对一个多维数据集的查询

Select子句:SQL定义查询的列布局,MDX定义几个轴维度

Where子句:SQL定义查询的行布局,筛选查询返回的数据,MDX将数据限定于特定维度/成员查询返回的数据切片

语法功能:SQL相对较弱,简单,MDX更强大,更复杂

结果集视觉形象:SQL直观,Mdx不直观

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值