我正在尝试将当前日历周的数据提供给前两周。如果我在MDX查询中将日期范围指定为参数,则表格会正确填充。
SELECT NON EMPTY {[Measures].[planned_cumulative],[Measures].[Last Forecast CW] } ON COLUMNS,
NON EMPTY { ([Project].[Projekt-Task].[Task].ALLMEMBERS* { [Date].[Date - CW].[Week].&[2014]&[201420] : [Date].[Date - CW].[Week].&[2014]&[201422]})} ON ROWS FROM [DWH]
但是如果我尝试使用滞后函数,我会收到错误。这是MDX查询。
SELECT NON EMPTY {[Measures].[planned_cumulative],[Measures].[Last Forecast CW] } ON COLUMNS,
NON EMPTY { ([Project].[Projekt-Task].[Task].ALLMEMBERS* [Date].[DATECW - CW].[Week].CurrentMember.Lag(2) ) } ON ROWS
FROM [DWH]
答案 0 :(得分:0)
您的第一个查询(非常正确)通过使用以冒号分隔的维度中的两个成员来标识两周的范围,即[第X周]:[第Y周]。
您的第二个查询使用LAG函数,该函数将返回维度上的成员,而不是一系列成员。
试试这个:
SELECT NON EMPTY {[Measures].[planned_cumulative],[Measures].[Last Forecast CW] } ON COLUMNS,
NON EMPTY {[Project].[Projekt-Task].[Task].ALLMEMBERS * TAIL([Date].[Date - CW].[Week],3) } ON ROWS
FROM [DWH]
此外,您的第一个查询引用[日期]。[日期 - CW]。[周]而您的第二个查询使用[日期]。[DATECW - CW]。[周]。当你说查询有效时,我已经选择了第一个选项。
如果有帮助,请告诉我。
灰
编辑:为此道歉。我已经修改了查询以使用TAIL函数,该函数将从最后开始并向后工作的集合中提供许多元组。因此,使用TAIL({Set Of Weeks},3),这应该会给你当前周和前两周。我在我的立方体上测试了类似的查询,它似乎产生了预期的结果。希望能为你解决这个问题。
灰