首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

简略MDX中冒号(:)的使用说明

2012-10-09 
简单MDX中冒号(:)的使用说明??????? 在一本书上看到了在mdx中冒号的使用说明,于是自己测试了一下并将其中

简单MDX中冒号(:)的使用说明

??????? 在一本书上看到了在mdx中冒号的使用说明,于是自己测试了一下并将其中较重要的内容整理成笔记。

?????

在每个维度的每个级别上,该级别的成员按照特殊的顺序排列(通常按照成员键或者各种名称排列)。当这个排列顺序有某种意义时,将来自同一级别的成员作为端点,并用冒号隔开,这表示“这两个成员及其中间的所有成员”,这样按照指定的顺序排列的成员构成一个“集”。例如下面的语句查询的是从2007年Q2季度到2008年Q1季度数码产品的总销售额.MDX语句如下:

?

SELECT { [Product Category].[All Products].[Digital Products] } ON COLUMNS ,

{[Sale Time].[All Years].[2007].[Q2]: [Sale Time].[All Years].[2008].[Q1] } ON ROWS?

FROM [Sales]

WHERE ( [Measures].[Total Sale])?

(?效果图如上传的图1.bmp。)

?

当数据库定义的顺序和现实中的顺序(如时间顺序)相关时,一般采用上面的方式建立集。冒号用同一级别的两个成员作为端点。在冒号两边 可以是相同的成员,表示集中只有一个成员。

说明:软件差异

Analysis services

??? 在Analysis Services中,按照数据库中的顺序,无论冒号左边的成员在冒号右边的前面还是后面,产生的集都包含着两个成员之间的所有成员。即,下面的两条语句返回完全相同的集。

{[Sale Time].[All Years].[2007].[Q2]: [Sale Time].[All Years].[2008].[Q1] }

{[Sale Time].[All Years].[2008].[Q1]: [Sale Time].[All Years].[2007].[Q2] }

?

???? 在Essbase中,集的元素从冒号左边成员开始,到右边成员结束。下面的语句依次返回4季度,3季度,2季度和1季度:

?

{[Sale Time].[All Years].[2007].[Q4]: [Sale Time].[All Years].[2007].[Q1] }

?

而在Analysis Services中则从上到下依次返回1季度,2季度,3季度,4季度。

?

?(效果图如上传的图2.bmp。)

?


By the way,供大家交流Pentaho的圈子,里面可以共享有关pentahoBI平台学习的资料,期待您的加入! http://pentahofrends.group.iteye.com/group/share

?

热点排行