2014-02-22 130 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