题
我需要获取作为计算度量返回的维度成员。
鉴于:
方面
- 客户{ACME、EMCA、通用导入、通用导出}
- 销售员{鲍勃、弗雷德、玛丽、乔}
- 信用类型{董事、经理}
措施
- 信用价值
- 价值
人际关系
- 客户是包含价值的事实的一个维度
- 客户、销售人员和信用类型是包含信用价值的事实的维度
我正在尝试执行以下操作:
创建计算度量,返回在客户角色中记入金额最大的销售人员。例如
| Customer | Director | Manager | Value |
|-------------------|----------|---------|-------|
| ACME | Bob | Fred | 500 |
| EMCA | Bob | Fred | 540 |
| Universal Imports | Mary | Joe | 1000 |
| Universal Exports | Mary | Fred | 33 |
- ACME 将 Bob 作为总监授予 490 积分
- 作为 ACME 经理,Fred 获得了 500 分
- ACME 授予 Mary 作为总监 10 分
我想将其用作计算度量,在客户是 ROW 的任何情况下都可以使用它。
解决方案
如果我正确理解你的问题,沿着这条线的东西应该可以解决问题(当然你必须使用正确的级别,层次结构和立方体名称):
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
不隶属于 StackOverflow