早上好。我有以下事实表
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]))
但我没有得到任何正确的结果。你可以帮忙吗?感谢
答案 0 :(得分:0)
您需要将其定义为以下成员:
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。它最终会更快,因为立方体将为您准备好这个值。