我有一个名为预测版本的字段,该字段以“ FY20一月预测”的格式存储版本,而销售时间字段则存储日期。我想要的是我的MDX查询,以根据当前日期过滤最近两个预测版本的数据。 例如。如果当前日期为2019年10月,则应向我显示 20财年9月预测和 20财年10月预测的数据。
我想使用它类似于SQL中的where条件。
答案 0 :(得分:0)
看下面的例子。在我的第一个查询中,我要查询“ Internet销售金额” 为2013年5月。
select
{
[Measures].[Internet Sales Amount]
}
on columns,
[Date].[Calendar].[Month].&[2013]&[5]
on rows
from
[Adventure Works]
接下来,我们将其修改为返回“ 2013年5月”之前的两个月
select
{
[Measures].[Internet Sales Amount]
}
on columns,
([Date].[Calendar].[Month].&[2013]&[5]).lag(2):([Date].[Calendar].[Month].&[2013]&[5]).lag(1)
on rows
from
[Adventure Works]
编辑:使查询动态化
select
{
[Measures].[Internet Sales Amount]
}
on columns,
strtoset('[Date].[Calendar].[Month].&['+cstr(datepart("yyyy",Now()))+ ']&['+cstr(datepart("m",Now()))+'].lag(2):[Date].[Calendar].[Month].&['+cstr(datepart("yyyy",Now()))+ ']&['+cstr(datepart("m",Now()))+'].lag(1)')
--Output of the above expression is
--[Date].[Calendar].[Month].&[2019]&[10].lag(2):[Date].[Calendar].[Month].&[2019]&[10].lag(1)
on rows
from
[Adventure Works]