Patente (MDX)

Retorna o posto baseado em um de uma tupla especificada em um conjunto especificado.

Sintaxe

  
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )  

Argumentos

Tuple_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna uma tupla.

Set_expression
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna um conjunto.

Numeric_Expression
Uma expressão numérica válida que normalmente é uma expressão de Expressões Multidimensionais (MDX) de coordenadas de célula que retornam um número.

Remarks

Se uma expressão numérica for especificada, a função Rank determina o rank baseado em um para a tupla especificada ao avaliar a expressão numérica especificada em relação à tupla. Se uma expressão numérica for especificada, a função Rank atribui o mesmo posto a tuplas com valores duplicados no conjunto. Essa atribuição do mesmo posto para duplicar valores afeta os postos das tuplas subsequentes no conjunto. Por exemplo, um conjunto consiste nas seguintes tuplas, {(a,b), (e,f), (c,d)}. A tupla (a,b) tem o mesmo valor que a tupla (c,d). Se a tupla (a,b) tiver posto 1, então ambos (a,b) e (c,d) terão posto 1. No entanto, a tupla (e,f) teria uma classificação de 3. Não poderia haver tupla nesse conjunto com classificação 2.

Se uma expressão numérica não for especificada, a função Rank retorna a posição ordinal baseada em um da tupla especificada.

A função Rank não ordena o conjunto.

Example

O exemplo a seguir retorna o conjunto de tuplas contendo clientes e datas de compra, usando as funções Filtro, Não Vazio, Item e Classificação para encontrar a última data em que cada cliente fez uma compra.

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]  

O exemplo a seguir utiliza a função de Ordem , em vez da função de Classificação , para classificar os membros da hierarquia da cidade com base na medida de Valor de Vendas de Revendedor e então exibi-los em ordem ranqueada. Ao usar a função Ordem para primeiro ordenar o conjunto de membros da hierarquia da cidade, a ordenação é feita apenas uma vez e seguida por uma varredura linear antes de ser apresentada em ordem ordenada.

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]