上个月同期的Excel MDX表达式过滤器

时间:2014-02-25 08:57:05

标签: excel mdx

我已设法为“过去30天”创建OLAP多维数据集的过滤器,如下所述:http://blogs.socha.com/2010/05/sliding-date-ranges-with-excel-2010.html。 现在我需要以相同的方式完成“上个月同期”过滤器(因此我可以将其拖放到数据透视表中以过滤任何销售数据)。理想情况下,它只显示总数,而不是日常数据。我尝试了很多不同的表达方式但是因为我对MDX很新,所以对我来说没什么用。

感谢您的帮助。

谢谢, 马切伊

1 个答案:

答案 0 :(得分: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功能列表(其中包括许多日期功能)。