SSRS MDX为前两周的数据



我正在尝试从当前日历周到前两周的数据。如果我将日期范围指定为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]

您的第一个查询(非常正确)通过使用由冒号分隔的维度中的两个成员(即[Week X]: [Week 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]

同样,您的第一个查询指向[Date]。[日期- CW]。[周],而第二个查询使用[日期]。[日期-星期].[星期].]我选择了第一个选项,因为你说查询工作。

如果有帮助,请告诉我。

火山灰

编辑:为此道歉。我对查询进行了修改,以使用TAIL函数,该函数将从一组元组中为您提供一些从末尾开始并向后工作的元组。因此,使用TAIL ({Set Of Weeks},3),应该会给出当前周和前两周的时间。我在我的多维数据集上测试了一个类似的查询,它似乎产生了预期的结果。

希望这能解决你的问题。

火山灰

最新更新