2015-04-23 76 views
0

我想實現的東西如下篩選出一組創建度量:通過從現有措施

WITH MEMBER Measures.Test2 AS 
Sum 
(
    { 
    [Date].[Calendar].[Calendar Year].&[2006] 
    ,[Date].[Calendar].[Calendar Year].&[2007] 
    } 
,[Measures].[Internet Sales Amount] 
) 
SELECT Measures.Test2 ON COLUMNS 
FROM [Adventure Works]; 

但我希望新措施的Test2根據歷年的尺寸是可切片。所以,我想是這樣

SELECT {Measures.Test2} ON 0, 
{[Date].[Calendar].[Calendar Year].[Calendar Year].MEMBERS} ON 1 
FROM [Adventure Works]; 

這是給了雙方2006年和2007年

在本質上相同的值,我想通過採取現有措施的一個子集創建成員,然後用它進一步計算

回答

0

這個腳本是無效mdx

SELECT (Measures.Test2,[Date].[Calendar].[Calendar Year].[Calendar Year] ON COLUMNS 
FROM [Adventure Works]; 

你有辦法實施前一個(
此外,你看起來像你即將添加一個tuple ON COLUMNS這是不允許的。只有集允許行數和列:

SELECT 
{Measures.Test2} ON 0, 
{[Date].[Calendar].[Calendar Year].[Calendar Year].MEMBERS} ON 1 
FROM [Adventure Works]; 

嘗試以下操作:

WITH 
    MEMBER Measures.Test2 AS 
    Sum 
    (
     Intersect 
     (
     {[Date].[Calendar].CurrentMember} 
     ,{ 
      [Date].[Calendar].[Calendar Year].&[2006] 
     ,[Date].[Calendar].[Calendar Year].&[2007] 
     } 
    ) 
    ,[Measures].[Internet Sales Amount] 
    ) 
SELECT 
    [Measures].test2 ON COLUMNS 
,{[Date].[Calendar].[Calendar Year].MEMBERS} ON ROWS 
FROM [Adventure Works]; 

以上的回報這個:

enter image description here

或者,也許你想要的是一個subselect

SELECT 
    [Measures].[Internet Sales Amount] ON COLUMNS 
,{[Date].[Calendar].[Calendar Year].MEMBERS} ON ROWS 
FROM 
(
    SELECT 
    { 
     [Date].[Calendar].[Calendar Year].&[2006] 
    ,[Date].[Calendar].[Calendar Year].&[2007] 
    } ON 0 
    FROM [Adventure Works] 
); 
+0

嗨,感謝您的回覆。我編輯了查詢。我跑了查詢,你給了我所有的年份相同的價值。我希望它能夠讓我可以單獨查看多年的數據。所以我希望除2006年和2007年以外的所有年份的數據爲0,2006年和2007年也應該有其獨特的價值。 – Shashank

+0

@Shashank我添加了一個可能的修正案 – whytheq

+0

謝謝,這正是我正在尋找的。 – Shashank