2009-06-05 94 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