階級(MDX)

回傳指定集合中指定元組的一基階。

Syntax

  
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )  

論點

Tuple_Expression
一個有效的多維表達式(MDX)表達式,回傳元組。

Set_Expression
一個有效的多維表達式(MDX)表達式,能回傳一個集合。

Numeric_Expression
一個有效的數值表達式,通常是多維表達式(MDX)的儲存格座標表達式,回傳一個數字。

備註

若指定數值表達式, 函數會透過對該元組的數值運算式,決定該元組的基於一的秩。 若指定數值表達式, 函數會將相同的秩分配給集合中值重複的元組。 將相同階級分配給重複值會影響集合中後續元組的階級。 例如,一個集合由以下元組組成,。 {(a,b), (e,f), (c,d)} 該元組 (a,b) 與元組 (c,d)值相同。 若元組(a,b)的秩為 1,則 和 (c,d)(a,b)秩皆為 1。 然而,該元組 (e,f) 的階級為 3。 此集合中不存在秩為 2 的元組。

若未指定數值表達式, Rank 函數會回傳指定元組的以一為基礎的序數位置。

函數不會對集合進行排序。

Example

以下範例透過 FilterNonEmptyItemRank 函式,回傳包含客戶與購買日期的元組集合,找出每位客戶最後一次購買的日期。

WITH SET MYROWS AS FILTER  
   (NONEMPTY  
      ([Customer].[Customer Geography].MEMBERS  
         * [Date].[Date].[Date].MEMBERS  
         , [Measures].[Internet Sales Amount]  
      ) AS MYSET  
   , NOT(MYSET.CURRENT.ITEM(0)  
      IS MYSET.ITEM(RANK(MYSET.CURRENT, MYSET)).ITEM(0))  
   )  
SELECT [Measures].[Internet Sales Amount] ON 0,  
MYROWS ON 1  
FROM [Adventure Works]  

以下範例使用排序功能( Order )功能,而非 排名 功能,根據經銷商銷售金額(Reseller Sales Mount)衡量,對城市階層成員進行排名,並依排序順序顯示。 透過使用 Order 函數先排序城市階層成員集合,排序只需一次,接著進行線性掃描,最後以排序順序呈現。

WITH   
SET OrderedCities AS Order  
   ([Geography].[City].[City].members  
   , [Measures].[Reseller Sales Amount], BDESC  
   )  
MEMBER [Measures].[City Rank] AS Rank  
   ([Geography].[City].CurrentMember, OrderedCities)  
SELECT {[Measures].[City Rank],[Measures].[Reseller Sales Amount]}  ON 0   
,Order  
   ([Geography].[City].[City].MEMBERS  
   ,[City Rank], ASC)  
    ON 1  
FROM [Adventure Works]