回傳指定集合中指定元組的一基階。
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
以下範例透過 Filter、 NonEmpty、 Item 和 Rank 函式,回傳包含客戶與購買日期的元組集合,找出每位客戶最後一次購買的日期。
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]