2009-06-05 91 views
1

我需要獲得作爲計算度量返回的維度成員。尺寸成員作爲MDX中的計算度量值

考慮:

尺寸

  • 客戶{ACME,EMCA,通用進口,通用出口}
  • 推銷員{鮑勃,弗雷德,瑪麗·喬·}
  • 業績類型{董事,經理}

措施

  • 貸記價值
  • 價值

關係

  • 客戶是包含價值的事實
  • 客戶,銷售人員和業績類型是事實維度的維度包含信用值

我正在嘗試執行以下操作:

創建計算度量值,它將返回銷售人員在客戶角色中記入的最大$ s。例如

| Customer   | Director | Manager | Value | 
|-------------------|----------|---------|-------| 
| ACME    | Bob  | Fred | 500 | 
| EMCA    | Bob  | Fred | 540 | 
| Universal Imports | Mary  | Joe  | 1000 | 
| Universal Exports | Mary  | Fred | 33 | 
  • ACME已經鮑勃歸功於490爲董事
  • ACME具有弗雷德記以500爲經理
  • ACME具有瑪麗記以10爲主任

我想用這是一個計算的度量,我可以在客戶是ROW的任何情況下使用。

回答

1

如果我正確理解你的問題,沿着這條線應該做的伎倆東西(當然你必須使用適當的水平,層次和多維數據集的名稱):

with 
    member [Measures].[DirectorTemp] as topcount([Salesperson].[Salesperson].members,1,([Measures].[Credited Value],[Credit Type].[Director],[Customer].currentmember)).item(0).properties("Caption") 
    member [Measures].[Director] as iif([Measures].[DirectorTemp] = [Salesperson].UnknownMember.properties("caption"), null, [Measures].[DirectorTemp]) 
    member [Measures].[ManagerTemp] as topcount([Salesperson].[Salesperson].members,1,([Measures].[Credited Value],[Credit Type].[Manager],[Customer].currentmember)).item(0).properties("Caption") 
    member [Measures].[Manager] as iif([Measures].[ManagerTemp] = [Salesperson].UnknownMember.properties("caption"), null, [Measures].[ManagerTemp]) 


    select 
     {[Measures].[Director],[Measures].[Manager],[Measures].[Value]} on 0, 
     {[Customer].members} on 1 
    from MyCube 
+0

感謝您的回答。我已將其適用於我的數據。 一個簡單的問題。如果元組返回一組無,我會從銷售人員維度中獲取未知成員。我怎樣才能避免這種情況? – 2009-06-05 18:51:32