在MDX

2015-02-06 48 views
0

設置在AdventureWork2012名稱中使用子多維數據集我寫這篇文章查詢:在MDX

select 
    [Measures].[Internet Sales Amount] on columns, 
    [Ship Date].[Calendar Year].[Calendar Year] .members on rows 
from 
    [Adventure Works] 
where 
    [Sales Territory].[Sales Territory Country].&[Australia]; 

但我想要寫在我的多維數據集命名集此查詢。 我無法使用過濾器功能,因爲我無法過濾基於其他維度的維度。我尋覓了很多,我發現使用子立方體是這樣的:

select [Measures].[Internet Sales Amount] on columns, 
     [Ship Date].[Calendar Year].[Calendar Year] .members on rows 
from 
    (Select [Sales Territory].[Sales Territory Country].&[Australia] on columns from [Adventure Works]) 

但我要創造我的多維數據集中的命名集,以顯示在軸線上只是澳大利亞的歲月。但我不知道如何在我的命名集中編寫子多維數據集。請幫幫我。

回答

0

這是你需要的那種Set

WITH SET [OzzieYears] AS 
     NonEmpty(
     [Ship Date].[Calendar Year].[Calendar Year].members, 
     (
      [Sales Territory].[Sales Territory Country].&[Australia] 
      ,[Measures].[Internet Sales Amount] 
     ) 
    ) 

SELECT {} on 0, 
     [OzzieYears] on 1 
FROM [Adventure Works] 

要在多維數據集腳本中創建遵循演練像這樣:https://msdn.microsoft.com/en-us/library/ms166594.aspx

WITH子句中的表達式應該有所幫助。該NonEmpty functionreturns一個SET

NonEmpty(
    [Ship Date].[Calendar Year].[Calendar Year].members, 
    (
    [Sales Territory].[Sales Territory Country].&[Australia] 
    ,[Measures].[Internet Sales Amount] 
    ) 
) 

我不玩的魔方劇本,但我想你可以這樣添加的東西:

CREATE SET CURRENTCUBE.[OzzieYears] 
AS NonEmpty(
     [Ship Date].[Calendar Year].[Calendar Year].members, 
     (
      [Sales Territory].[Sales Territory Country].&[Australia] 
      ,[Measures].[Internet Sales Amount] 
     ) 
    ), DISPLAY_FOLDER = 'Sets' ; 
+0

我想創建一個名爲設置成我的立方體。我無法使用Set ...進入它。我怎樣才能做到這一點在我的立方體的名稱集。 – user3127150 2015-02-08 05:35:13

+0

@ user3127150這是原型鍵入自定義度量和集合的標準方式。使用'WITH'子句中的表達式並轉到BIDS,然後按照如下所示進行演練:https://msdn.microsoft.com/en-us/library/ms166594.aspx – whytheq 2015-02-08 19:24:15