2014-02-25 36 views
0

我已经设法为OLAP多维数据集创建“最近30天”的筛选器,如下所述:http://blogs.socha.com/2010/05/sliding-date-ranges-with-excel-2010.html。 现在我需要以同样的方式获得'上个月的同期'过滤器(这样我可以将它拖放到数据透视表中以过滤任何销售数据)。理想情况下,它只会显示总计,而不是一天一天的数据。我尝试了许多不同的表达方式,但是因为我对MDX很陌生,所以对我来说没有任何作用。上个月同期的Excel MDX表达式筛选器

我将不胜感激您的帮助。

感谢, 马切伊

+0

当你说'上个月的同一个月'时,像你想看到什么一样的时期? – FrankPl

+0

基本上,如果今天的日期是2014年2月25日,那么我希望看到上个月同期的销售数据为01/01/2014 - 25/01/2014,即。前个月的前25天。这样,我可以将本月的表现(月迄今)与上个月的表现相比较(25)。 – kaiseros

回答

0

你可能会使用类似

Filter( 
    [Date].[Date].[Date], 
    [Date].[Date].CurrentMember.Member_Value >= 
      DateSerial(Year(DateAdd('m', -1, VBA![Date]())), 
        Month(DateAdd('m', -1, VBA![Date]())), 
        1 
        ) 
    AND [Date].[Date].CurrentMember.Member_Value <= DateAdd('m', -1, VBA![Date]()) 
) 

这里,DateAdd('m', -1, VBA![Date]()是今天的前一个月,也就是结束日期。开始日期是从这个结束日期开始计算的,使用这个日期的年份和月份,1表示这个月份的日期,并且将这些日期填入DateSerial来确定日期。

请参阅http://technet.microsoft.com/en-us/library/hh510163.aspx了解MDX支持的VBA函数(其中包括许多日期函数)的列表。