Date 今天筛选';MDX中的日期

Date 今天筛选';MDX中的日期,date,filter,mdx,Date,Filter,Mdx,您好,我正在尝试在MDX查询中放置一个动态日期过滤器(如今天的日期),但我无法从查询中获得任何结果,是否有人可以帮助检查我的查询出了什么问题 我首先用指定的日期值测试了MDX查询,查询是 WITH MEMBER [Yesterday] AS VBAMDX.Format(VBAMDX.Now()-1,"MM/dd/yy") select {[Measures].[Order Root Total], [Measures].[Yesterday]} on columns, filter ([D D

您好,我正在尝试在MDX查询中放置一个动态日期过滤器(如今天的日期),但我无法从查询中获得任何结果,是否有人可以帮助检查我的查询出了什么问题

我首先用指定的日期值测试了MDX查询,查询是

WITH MEMBER [Yesterday] AS VBAMDX.Format(VBAMDX.Now()-1,"MM/dd/yy")

select {[Measures].[Order Root Total], [Measures].[Yesterday]} on columns,
filter ([D Date].[DAY ID].&[09/19/13],
[Measures].[Order Root Total]>0) on rows
from [Root Product Profit and Sales]
它返回结果

            Order Root Total    Yesterday
09/19/13    1481.2225483463         09/19/13
然后我试着:

WITH MEMBER [Yesterday] AS VBAMDX.Format(VBAMDX.Now()-1,"MM/dd/yy")

select {[Measures].[Order Root Total], [Measures].[Yesterday]} on columns,
filter ([D Date].[DAY ID].&[Yesterday],
[Measures].[Order Root Total]>0) on rows
from [Root Product Profit and Sales]
那么我什么也不退


有人能帮帮我吗!非常感谢

您必须使用
StrToMember
,因为
昨天
是一种度量,不能直接用于成员名称。我建议将昨天定义为
[D Date].[DAY ID]
层次结构,而不是
度量值
一个:

WITH MEMBER [D Date].[DAY ID].[Yesterday] AS 
     StrToMember('[D Date].[DAY ID].&' + VBAMDX.Format(VBAMDX.Now()-1,"MM/dd/yy") + ']')

select {[Measures].[Order Root Total], [Measures].[Yesterday]} on columns,
filter ([D Date].[DAY ID].[Yesterday],
[Measures].[Order Root Total]>0) on rows
from [Root Product Profit and Sales]