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 财政年度,我需要从中获取数据
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 MEMBER [LTII_NIRS_E] AS
SUM({[DIM TIME].[YEAR - QUARTER - MONTH].[YEAR].[2005].[Q2]:[DIM TIME].[YEAR - QUARTER - MONTH].[YEAR].[2006].[Q1]},[Measures].[Measures].[LTII NIRS E])
SELECT [LTII_NIRS_E] ON COLUMNS, {[DIM TIME].[YEAR -
QUARTER - MONTH].[2006]:[DIM TIME].[YEAR - QUARTER - MONTH].[2008]}
On ROWS FROM [NH_INCID] WHERE [Business Component].[Region].[Novelis North America]
但它仅提供 2005 财政年度的数据
即,执行查询后结果如下
2006 -> 33
2007- > 33 -> it should give 16 instead of 33
我应该在上面的查询中的 SUM 函数中写什么,以便它计算每个单独的会计年度。请帮我解决这个查询?
最佳答案
我使用滞后来表示给我指定年份第一季度之前的三个季度的昏暗时间层次结构成员到第一季度的时间。这是有效的,因为我在计算成员中使用 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]
关于sql - 在 mdx 查询中查找每个后续财务周期年份的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569637/