维度成员作为 MDX 中的计算度量

Posted

技术标签:

【中文标题】维度成员作为 MDX 中的计算度量【英文标题】:Dimension Member as Calculated Measure in MDX 【发布时间】:2009-06-05 16:11:15 【问题描述】:

我需要将维度成员作为计算度量返回。

给定:

尺寸

客户 ACME, EMCA, Universal Imports, Universal Exports 销售员 Bob, Fred, Mary, Joe 信用类型董事、经理

措施

信用价值 价值

关系

客户是包含价值的事实的维度 客户、销售人员和信用类型是包含信用价值的事实的维度

我正在尝试执行以下操作:

创建计算的度量,将返回在客户角色中计入最大 $s 的销售人员。例如

| 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 的任何情况下使用它。

【问题讨论】:

【参考方案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

【讨论】:

感谢您的回答。我已经根据我的数据对其进行了调整。一个快速的问题。如果元组返回一组无,我会从销售人员维度获取未知成员。我怎样才能避免这种情况? 我已经编辑了查询,所以它返回 null 而不是“未知”。有点混乱,但它应该可以工作...... 谢谢。我处理的略有不同。我包装了一个 iff(isempty(Tuple Definition), NULL, TOPCOUNT .... 如前所述) 来完成类似的结果。我唯一知道的问题是,当来自客户维度的两个层次结构在 select 语句中并且结果被过滤时,CurrentMember 无法正常工作。

以上是关于维度成员作为 MDX 中的计算度量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MDX 中基于维度属性定义计算度量?

MDX IIF 语句根据度量和层次结构叶计算新成员

在 MDX 中为使用事实表中的相同列的不同度量构造计算度量

如何计算 MDX 中组的总和?

MDX 计算的测量计数

具有多个属性层次结构的计算成员 - MDX