2014-12-02 63 views
1

我需要獲取成員資產的最大值才能在另一個MDX表達式中使用。成員資產的最大價值

由於從Adventure Works公司的例子中,我使用下面的

WITH 
    MEMBER DoFP AS 
    [Customer].[Customer].Properties("Date of First Purchase") 
    MEMBER MaxDoFP AS 
    Tail 
    (
     NonEmpty 
     (
     [Date].[Date].[Date] 
     ,[Measures].[DoFP] 
    ) 
    ,1 
    ).Item(0).MemberValue 
SELECT 
    [Date].[Calendar Year].[Calendar Year] ON 0 
,{ 
    [Customer].[Customer].&[20075] 
    ,[Customer].[Customer].&[15568] 
    ,[Customer].[Customer].&[20285] 
    } ON 1 
FROM [Adventure works] 
WHERE 
    [Measures].[DoFP]; 

我想它回到2008年6月15日,所有行/ COLS這是第一次購買的亞倫亞歷山大日期(誰擁有所選客戶的最高DoFP),以便我可以做更多的計算。相反,它給了我2010年12月31日,因爲(我認爲)這是我的[Date]。[Date]。[Date]中的最後一個日期。

回答

0

不漂亮:

WITH 
    SET X AS 
    { 
     [Customer].[Customer].&[20075] 
    ,[Customer].[Customer].&[15568] 
    ,[Customer].[Customer].&[20285] 
    } 
    MEMBER DoFP AS 
    [Customer].[Customer].Properties("Date of First Purchase") 
    MEMBER MaxDoFP1 AS 
    Max(DoFP) 
    MEMBER MaxDoFP2 AS 
    Max 
    (
     X 
    ,Cdate([Customer].[Customer].Properties("Date of First Purchase")) 
    ) 
SELECT 
    [Date].[Calendar Year].[Calendar Year] ON 0 
, 
    X * {[Measures].[MaxDoFP1],[Measures].[MaxDoFP2]} ON 1 
FROM [Adventure works]; 
+0

不介意不漂亮:)!這將工作的用戶定義集?用戶將查詢來自Excel PT的數據並自行選擇客戶? – user2999794 2014-12-02 10:27:04

+0

我最初的直覺是它可能會掙扎 - 測試一下並讓我知道。創建命名集和度量,看看會發生什麼。你是否在使用能夠爲PT添加自定義度量的'2013'? – whytheq 2014-12-02 10:29:48

+0

(p.s.漂亮很重要) – whytheq 2014-12-02 10:30:06

0

另一種選擇(假設你有延長立方體結構的能力)是創建基於使用MAX聚合功能的客戶維度的度量組。我認爲對於大型樂隊來說性能會更好一些。

WITH 
    SET X AS 
    { 
     [Customer].[Customer].&[20075] 
    ,[Customer].[Customer].&[15568] 
    ,[Customer].[Customer].&[20285] 
    } 
    MEMBER MaxDoFP AS 
    Max (X,[Measures].[Customer DoFP MAX]) 
SELECT 
    [Date].[Calendar Year].[Calendar Year] ON 0 
,X * {[Measures].[MaxDoFP]} ON 1 
FROM [Adventure works];