Filter Today's Date in MDX

本小妞迷上赌 提交于 2019-12-10 19:04:17

问题


Hi I am trying to put a dynamic date filter (like today's date) in a MDX query, but I cannot get any result from the query, can some one help to check what is it wrong with my query?

I first tested the MDX query with a specified dated value, the query is

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]

It return the result

            Order Root Total    Yesterday
09/19/13    1481.2225483463         09/19/13

Then I tried:

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]

Then I return nothing..

Can Someone Please help me! Much Appreciate!!!


回答1:


You would have to use StrToMember, as Yesterday is a measure, and cannot directly be used in a member name. I would suggest defining Yesterday on the [D Date].[DAY ID] hierarchy instead of the Measures one:

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]


来源:https://stackoverflow.com/questions/18911036/filter-todays-date-in-mdx

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!