【问题标题】:MDX : calculate maximum value per dimension memberMDX:计算每个维度成员的最大值
【发布时间】:2018-05-23 12:22:24
【问题描述】:

早上好。我有以下事实表

FK_Cmd |FK_Ship |Dilevry_time
C001   |1       |20
C001   |2       |25
C002   |1       |23

我想计算每个 Cmd 的平均最大交付时间,在示例中为 (25+23)/2 = 24。 我正在使用以下 MDX 请求:

AVG(MAX([Dim Cmd].[PR_Cmd],[Measures].[Delivery time]))

但我没有得到任何正确的结果。你能帮忙吗?谢谢

【问题讨论】:

    标签: max average mdx


    【解决方案1】:

    您需要将其定义为类似以下的成员:

    WITH MEMBER [Measures].[Max Delivery time] AS Max   
       ([Dim Cmd].[PR_Cmd].currentMember  
          , [Measures].Delivery time]  
       )  
    
     MEMBER [Measures].[Avg Max Delivery time] AS Avg
       ([Dim Cmd].[PR_Cmd].allMembers
          , [Measures].[Max Delivery time]  
       ) 
    
    SELECT [Measures].[Avg Max Delivery time] ON 0 
    FROM [Cube]
    

    我目前没有 SSAS,所以我无法对其进行测试,但它应该是类似的。另一种方法是将其定义为多维数据集定义中的计算成员,如果这对您来说很重要,而不是每次都使用 MDX。最终会更快,因为立方体会为您准备好该值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2015-02-17
      相关资源
      最近更新 更多