在mdx查询中获取每年的特定时段

时间:2013-07-12 13:05:20

标签: sql-server sql-server-2008 ssas mdx ssas-2008

如果我运行此查询

SELECT 
[Measures].[EMPLOYEE Recordable Case Rate] ON COLUMNS,
[DIM TIME].[YEAR -  QUARTER -  MONTH].[2006].[Q1]:  [DIM TIME].[YEAR -  QUARTER -  MONTH].[2010].[Q1] on ROWS

FROM
[NH_INCID]  
WHERE {[Business Component].[Region].[Novelis North America]}

它给出的记录从2006年第一季度开始,2006年第二季度,2006年第三季度,Q4 ------ 2010

有没有办法只获取每年的Q1,即2006,2007,2008,2009,2010?

1 个答案:

答案 0 :(得分:5)

您可以使用四分之一维度属性来过滤Q1,并在where子句中对所需的年份跨度进行过滤。

Select {[Measures].[EMPLOYEE Recordable Case Rate]} ON COLUMNS, 
{[DIM TIME].[YEAR - QUARTER - MONTH].[Quarter].members } on 1
from [Model] 
where ({ [Dim Time].[Year].[2006]:[Dim Time].[Year].[2012]}, [Dim Time].[Quarter].[Q1])

你也可能找到一种方法来获得年份并与firstchild做点什么,但我上面的回答似乎更快/更容易。