2014-02-22 196 views
0

我需要獲取作爲度量返回的尺寸成員。在MDX中測量尺寸成員

考慮:

尺寸

[Customer].[customer name] members {ACME, EMCA, EMC}  

[Salesperson].[person name] members {Bob, Fred, Mary, Joe} with the property "name" 

措施 價值

關係

The Customer is a dimension of the facts that contain Value 
The Salesperson is a dimensions of the facts that contain Value, each customer has one salesperson associated 

我努力做到以下幾點:

創建將爲客戶返回列中銷售人員姓名的度量。例如

| Customer   |Sales person | Value | 
| ACME    | Bob   | 500 | 
| EMCA    | Bob   | 540 | 
| EMC    | Mary  | 840 | 

我已經試過這樣的:。

經會員[措施] [SP_NAME]爲[業務員] [人名] .currentmember.properties( 「名稱」)

選擇 {[customer]。[customer name] .members}上的{[measure]。[sp_name],[度量值] [value]}從

但是它總是返回錯誤「屬性名稱不是對[銷售員]有效。[所有銷售員]「 如果我使用With Member [measure].[sp_name] as [Salesperson].[person name].currentmember.firstindex.properties("name") 我爲所有客戶提供了一個人,這顯然是不正確的。我錯過了什麼嗎?

回答

0

我會說在Analysis Services 2008中,這應該在您執行它時工作,並返回nullAll成員。如果您使用環境較爲敏感,那麼也許你可以使用類似

With Member [measure].[sp_name] as 
    IIF([Salesperson].[person name].currentmember IS [Salesperson].[all salesperson], 
     'All', 
     [Salesperson].[person name].properties("name") 
     ) 
Select {[measure].[sp_name], [measures].[value]} on 0, 
     {[customer].[customer name].members} on 1 
    from [MyCube] 
0
[Salesperson].[person name].CurrentMember.Member_Name