欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

mdx 比起与环比。

更新时间: 2014-01-05 02:29:08 责任编辑: Author_N1

 

MDX 同比与环比。。。。
在时间维度中包括两个层次:
[Ship Date].[h_TimeYSQMD];
[Ship Date].[h_TimeYWM]。
本文主要用到的是前者。
这个层次结构为:CalendarYear->CalendarSemester->CalendarQuarter->MonthNumberOfYear-> DayNumberOfMonth。
简单地说,环比就是逐期的数据比较;同比就是同期的数据比较。例如:将今年的下半年数据与上半年数据相比较;将今年的五月的数据与四月的数据相比较;将今年第三季度的数据与今年的第二季度相比较,这些都是环比。将今年的数据与去年的数据比较;将今年五月的数据与去年五月的数据比较;将今年第一季度的数据与去年第一季度的数据比较,这些都是同比。
同比计算成员MDX代码:
CREATE MEMBER[AWCube].[ParallelPeriodCompare]AS  [Measures].[SalesAmount]-(  [Measures].[SalesAmount],ParallelPeriod(  [ShipDate].[h_TimeYSQMD].[CalendarYear],  1,  [ShipDate].[h_TimeYSQMD].CurrentMember  )  ),  FORMAT_STRING=’###,###,###,##0.00’
在这个计算成员中最为主要的就是那个ParallelPeriod函数,这个函数的功能是返回上一期间中与指定成员具有相同的相对位置的成员。这里将ParallelPeriod函数的结果与度量值组成一个元组,就可以对ParallelPeriod函数计算所得到的结果在指定的度量上进行汇总。这个计算的结果就是返回当期与上一期数据的差额。
同比计算成员测试代码:
SELECT  {  [ShipDate].[h_TimeYSQMD].[CalendarYear].&[2003].&[2],  [ShipDate].[h_TimeYSQMD].[CalendarYear].&[2003].&[2].Children  }ONCOLUMNS,  {  [Measures].[SalesAmount],  [ParallelPeriodCompare]  }ONROWS  FROM[AWCube]
环比计算成员代码:
CREATE MEMBER [AW Cube].[Cycle Period Compare] AS  [Measures].[Sales Amount]-(  [Ship Date].[h_TimeYSQMD].CurrentMember.PrevMember,  [Measures].[Sales Amount]  ),  FORMAT_STRING=’###,###,###,##0.00’
环比计算成员的定义看起来要比同比计算成员简单一点,环比计算成员中最主要的部分就是[Ship Date].[h_TimeYSQMD].CurrentMember.PrevMember这一句。这一句就表达了环比的定义。通过计算当期与前一期成员与度量值组成的汇总数据得到环比结果,即当期与前一期数据的差额。
环比计算成员测试代码
SELECT  {  [Ship Date].[h_TimeYSQMD].[CalendarYear].&[2003].&[2],  [Ship Date].[h_TimeYSQMD].[CalendarYear].&[2003].&[2].Children  } ON COLUMNS,  {  [Measures].[Sales Amount],  [Cycle Period Compare]  } ON ROWS  FROM [AW Cube]


--参考方法--
呵呵,楼主应该排个版。。这样看起来比较乱。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:29:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10369/
本文WWW.DOC100.NET DOC100.NET版权所有。