2012-09-20 62 views
1

我有一個結構爲(objectid,fromLoc,toLoc,duration)的事實表。關於MDX中的最大值函數

我需要的等效MDX以下SQL:

select fromLoc, toLoc, max(duration) from fact group by fromLoc, toLoc; 

我試着用下面的MDX,但它顯示錯誤的結果。它顯示SUM(持續時間),而不是顯示每個組最大值:

WITH 
    MEMBER [Measures].[MaxValue] AS 
    max([Measures].[Duration]) 
select FromLoc.members on axis(1), 
toLoc.members on axis(0) 
from [cube1] 
where [Measures].[MaxValue] 

請通過提供正確的MDX能回答這樣上面的SQL查詢幫助我。

回答

1

你必須使用max功能是這樣的:

max(the set of your objectids, [Measures].[Duration]) 
+0

我試着用以下的和它仍然表示相加作爲結果。 WITH MEMBER [措施]。[MaxValue的] AS MAX(FromLoc.members,[措施]。[時間])上軸(1) 選擇FromLoc.members,從軸線(0) toLoc.members [ cube1] where [Measures]。[MaxValue]; 是否有任何語法可以找到多個維度的最大值? –

+0

@AhmedTanvir你必須在第一個參數中放入你的「objectid」的集合。我的回答 – Benoit

+0

我也試圖與下面我更新: 與 MEMBER [措施] [MaxValue的作爲 最大(Object.objectid.members,[措施] [時間])上軸 選擇FromLoc.members(1 ),在軸(0) toLoc.members從[cube1] 其中[措施]。[MaxValue的] 儘管如此它顯示的總和的結果。它殺死了我整整一天。 –