在MDX查询中计算date值

我想创build一个每天更新的dynamic查询。

所以过滤今天的报告我使用

[Report Date].[Report Date].&[4226] 

4226来自:

 =DATEVALUE("28-07-2017")-38718 or =TODAY()-38718 (convert to number) 

38718只是一个从立方体中获取正确date的任意数字。

编辑:

这是我目前的查询:

 SELECT NON EMPTY { [Measures].[Price FC] } ON COLUMNS FROM ( SELECT ( -{ [Agency].[Nationality - Consortium - Agency].[Nationality].&[111], [Agency].[Nationality - Consortium - Agency].[Nationality].&[116], [Agency].[Nationality - Consortium - Agency].[Nationality].&[242], [Agency].[Nationality - Consortium - Agency].[Nationality].&[134] } ) ON COLUMNS FROM ( SELECT ( { StrToMember("[Report Date].[Report Date].&[" + Str(DateValue(Format(Now(), "dd-MM-yyyy")) - 38718) + "]") } ) ON COLUMNS FROM ( SELECT ( { [Market].[Market].[Market].&[103] } ) ON COLUMNS FROM ( SELECT ( { [Travel Type].[Travel Type].&[101], [Travel Type].[Travel Type].&[102], [Travel Type].[Travel Type].&[103] } ) ON COLUMNS FROM ( SELECT ( { [Departure Date].[Year].&[2017] } ) ON COLUMNS FROM [Booking]))))) WHERE ( [Departure Date].[Year].&[2017], [Travel Type].[Travel Type].CurrentMember, [Market].[Market].[Market].&[103], StrToMember("[Report Date].[Report Date].&[" + Str(DateValue(Format(Now(), "dd-MM-yyyy")) - 38718) + "]") ) 

但是它说在声明中没有检测到列。 我也试过不同的date格式,有什么想法?

从这个线程的提示:

VBAdate为整数

我用CDbl而不是Datevalue,这给了我想要的结果!

 StrToMember("[Report Date].[Report Date].&[" + Str(Int(CDbl(Now()) - 38718)) + "]")