Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve o posto baseado em um de uma tupla especificada num conjunto especificado.
Syntax
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )
Arguments
Tuple_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve uma tupla.
Set_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um conjunto.
Numeric_Expression
Uma expressão numérica válida que é tipicamente uma expressão de Expressões Multidimensionais (MDX) de coordenadas de célula que retornam um número.
Observações
Se uma expressão numérica for especificada, a função Rank determina o posto baseado em um para a tupla especificada, avaliando a expressão numérica especificada contra a tupla. Se for especificada uma expressão numérica, a função Rank atribui o mesmo posto a tuplas com valores duplicados no conjunto. Esta atribuição do mesmo posto a valores duplicados 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 um posto 1, então ambos (a,b) e (c,d) terão um posto 1. No entanto, a tupla (e,f) teria uma classificação de 3. Não poderia haver tupla neste conjunto com classificação 2.
Se uma expressão numérica não for especificada, a função Rank devolve a posição ordinal baseada em um da tupla especificada.
A função Rank não ordena o conjunto.
Exemplo
O exemplo seguinte devolve o conjunto de tuplas contendo clientes e datas de compra, utilizando as funções Filter, NonEmpty, Item e Rank 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 seguinte 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 do Revendedor e depois exibi-los por ordem ordenada. Ao usar a função de Ordem para primeiro ordenar o conjunto de membros da hierarquia da Cidade, a ordenação é feita apenas uma vez e seguida de uma varredura linear antes de ser apresentada por 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]