日期:2014-05-18  浏览次数:20432 次

MDX 历史累计写法?谢谢!
有以下数据,

时间 入库数量 库存数量 
2008-01-01 50 50
2009-01-01 50 50 
2010-01-01 50 20


现需要得到一个这样的数据 

2008 50
2009 100
2010 150

查过函数PeriodsToDate及相关帖子,均只能是在[年-月-日]层次下累计,如http://www.bridata.ca/blog/?p=897,,到最高层级年之后就不能累计了。

------解决方案--------------------
假设[Date]维度上有y-m-d这样的hierarchy 叫 [Calendar],下面MDX可以参考:
 
SQL code
with member measures.LTY
as
 sum(
      {Head([Date].[Calendar].[Calendar Year]).item(0) : [Date].[Calendar].currentmember} 
     ,[Measures].[QTY]
    )
    
select  
{measures.LTY } on 0 
,{
 [Date].[Calendar].[Calendar Year].&[2008] : [Date].[Calendar].[Calendar Year].&[2009]
} on 1
from [Cube]