在MDX中获取过去6个月的数据

时间:2011-04-27 21:40:47

标签: mdx reporting-services

我正在使用SSRS创建报告。对于指标,我将从分析服务中提取数据。我想修改查询设计器创建的mdx查询,以包含仅过去6个月的数据。查询现在看起来像这样:

SELECT NON EMPTY { [Measures].[Cumulative Count] } ON COLUMNS, 
        NON EMPTY { ([Work Item].[Microsoft_VSTS_Common_Discipline].[Microsoft_VSTS_Common_Discipline].ALLMEMBERS * [Date].[Year Month Date].[Month].ALLMEMBERS ) } 
        DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
        FROM 
          ( SELECT ( { [Work Item].[System_WorkItemType].&[Task] } ) ON COLUMNS 
        FROM 
          ( SELECT ( { [Date].[Year Month Date].[Year].&[2010-01-01T00:00:00] } ) ON COLUMNS FROM [Team System])) 
       WHERE ( [Work Item].[System_WorkItemType].&[Task] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS*

在这里,我将提取工作项类型为任务的工作项的累计计数,以及工作项的年份为2010年。但是,不是从2010年开出所有月份,而是想要过去6个月。有谁知道我怎么能在上面的查询中这样做。

2 个答案:

答案 0 :(得分:0)

创建一个新的计算成员,仅返回过去6个月的数据。

答案 1 :(得分:0)

我过去通过向MDX添加VBA功能来实现这一点(Analysis Services允许这样做)。您可以获取当前日期,工作6个月,获取月/年,并以与您的成员名称相同的格式编写字符串。然后使用StrToSet将此字符串包含在MDX查询中。