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