sql - 在 mdx 查询中查找每个后续财务周期年份的数据

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

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/

相关文章:

sql - 如何更新 Oracle 表中的 bool 字段

sql - 如果计数大于则删除行

c# - 为什么参数比 where 子句中的文字值慢?

sql-server - 在哪里可以获得 Visual Studio Tools for Applications 2008

sql-server - 在 SQL 中透视具有多列的表

sql - 更新表需要很长时间

sql-server - 在表中生成固定数量的行

sql - 链接 0 个或多个缺失数据字段更新

c# - SQL 2008 : returning data rows as JSON?

mysql - 是否有理由将数据库事务用于只读 sql 语句?