2013-07-10 131 views
2
In my database cube, data is distributed like this, for each quarter, per year 

2005 - > Q1 -> 10 2006 - > Q1 -> 4  2007 -> Q1-> 4 
     Q2 -> 20   Q2 -> 4    Q2-> 44 
     Q3 -> 5    Q3 -> 4    Q3-> 3 
     Q4 -> 4    Q4 -> 4    Q4-> 3 

每個後續財政期間年度數據財政年度2006年& 2007年,我需要從查找MDX查詢

2005 -> Q2,Q3,Q4 & Q1 of 2006 ie, 20, 5,4,4 

2006 -> Q2,Q3,Q4 & Q1 of 2007 ie, 4,4,4,4 

我建立MDX查詢這樣獲取數據 - :

WITH會員[LTII_NIRS_E] AS
SUM({[DIM TIME]。[年 - 季 - 月]。[年]。[2005]。[Q2]:[DIM TIME]。[年 - 季 - 月] YEAR]。[2006]。[Q1]},[措施] [措施] [L TII NIRS E])

SELECT [LTII_NIRS_E] ON COLUMNS,{[DIM TIME] [年份 - 季度 - 月] [2006年]。[DIM TIME] [年度 - 季度 - 月] [2008 ]} 的行FROM [NH_INCID],其中[業務組件]。[區域] [諾夫利斯北美]

但它僅適用於2005財年使數據

即造成這個樣子執行查詢後

2006 -> 33 
2007- > 33 -> it should give 16 instead of 33 

我應該在SUM func中寫什麼在上面的查詢中,以便它計算每個會計年度。請幫助我這個查詢?

回答

3

我用滯後的話說,在第一季度的指定年度成員的第一季度之前給我三個季度。這是有效的,因爲我在計算成員中使用currentmember,然後在行軸上指定成員。

WITH MEMBER [LTII_NIRS_E] AS 
'Sum({[DIM TIME].[YEAR - QUARTER - MONTH].currentmember.firstchild.lag(3): [DIM TIME].[YEAR - QUARTER - MONTH].currentmember.firstchild}, [Measures].[LTII NIRS E])' 
SELECT [LTII_NIRS_E] ON COLUMNS, 
{ [DIM TIME].[YEAR - QUARTER - MONTH].[2006], [DIM TIME].[YEAR - QUARTER - MONTH].[2007], [DIM TIME].[YEAR - QUARTER - MONTH].[2008]} on ROWS 
FROM [NH_INCID] 
WHERE [Business Component].[Region].[Novelis North America]