MDX元组总和

时间:2015-10-24 16:56:34

标签: tuples mdx

我有一个MDX-Query,结构如下:
第一栏:计划成本,年份:2015年,月份1月 - 12月 第二栏:实际成本,年份:2015年,月份1月份 第3栏:实际成本,年份:2015年,2月份

SELECT {   
([YEAR].[2015], [MONTH].[ALL],[TYPE].[PLAN])  
([YEAR].[2015], [MONTH].[1],  [TYPE].[ACTUAL])   
([YEAR].[2015], [MONTH].[2],  [TYPE].[ACTUAL])}     
ON COLUMNS,
{[xxx].[xxx]} ON ROWS
FROM [CUBE]
WHERE [MEASURES].[COSTS]

以上MDX-Code工作正常。 现在我想在查询中添加第4列,返回:
第4栏:实际成本,年份:2015年,Janury月 - 2月 如何在MDX中实现这一目标?

或多或少看起来应该是这样......

SELECT {    
([YEAR].[2015], [MONTH].[ALL], [TYPE].[PLAN])  
([YEAR].[2015], [MONTH].[1],   [TYPE].[ACTUAL])     
([YEAR].[2015], [MONTH].[2],   [TYPE].[ACTUAL])  
([YEAR].[2015], [MONTH].[1-2], [TYPE].[ACTUAL]) ???  
}
ON COLUMNS,
{[xxx].[xxx]} ON ROWS
FROM [CUBE]
WHERE [MEASURES].[COSTS]

1 个答案:

答案 0 :(得分:0)

我想也许WITH子句中两个月的聚合应该足够了:

WITH MEMBER [MONTH].[1-2] AS
AGGREGATE(
  {
   [MONTH].[1]
  ,[MONTH].[2]
  }
)
SELECT 
NON EMPTY
  {    
    ([YEAR].[2015], [MONTH].[ALL], [TYPE].[PLAN])  
    ([YEAR].[2015], [MONTH].[1],   [TYPE].[ACTUAL])     
    ([YEAR].[2015], [MONTH].[2],   [TYPE].[ACTUAL])  
    ([YEAR].[2015], [MONTH].[1-2], [TYPE].[ACTUAL]) 
  }
ON COLUMNS,
NON EMPTY
  {[xxx].[xxx]} ON ROWS
FROM [CUBE]
WHERE [MEASURES].[COSTS];