早上好。 我有以下事实表
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]))
但我没有得到任何正确的结果。 你能帮忙吗? 谢谢
您需要将其定义为成员,如下所示:
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。最终会更快,因为多维数据集将为您准备好该值。