Ler em inglês

Partilhar via


RANKX

Aplica-se a:Coluna calculada Tabela calculada MedidaCálculo visual

Devolve a classificação de um número numa lista de números para cada linha no argumento table.

Sintaxe

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])  

Parâmetros

table
Qualquer expressão DAX que retorna uma tabela de dados sobre a qual a expressão é avaliada.

expression
Qualquer expressão DAX que retorna um único valor escalar. A expressão é avaliada para cada linha de table, para gerar todos os valores possíveis para classificação. Consulte a seção de comentários para entender o comportamento da função quando expression avalia como BLANK.

value
(Opcional) Qualquer expressão DAX que retorna um único valor escalar cuja classificação deve ser encontrada. Consulte a seção de comentários para entender o comportamento da função quando value não for encontrado na expressão.

Quando o parâmetro value é omitido, o valor da expressão na linha atual é usado.

order
(Opcional) Um valor que especifica como classificar value, baixo para alto ou alto para baixo:

valor Valor alternativo Description
0 (zero) FALSE Classifica-se por ordem decrescente de valores de expressão. Se o valor for igual ao maior número em expressão, RANKX retornará 1.

Este é o valor padrão quando o parâmetro order é omitido.
1 TRUE Classifica-se por ordem crescente de expressão. Se o valor for igual ao menor número na expressão, o RANKX retornará 1.

ties
(Opcional) Uma enumeração que define como determinar a classificação quando há empates.

enumeração Description
Skip O próximo valor de classificação, após um empate, é o valor de classificação do empate mais a contagem de valores empatados. Por exemplo, se cinco (5) valores estiverem empatados com uma classificação de 11, então o próximo valor receberá uma classificação de 16 (11 + 5).

Este é o valor padrão quando ties parâmetro é omitido.
Dense O próximo valor de classificação, após um empate, é o próximo valor de classificação. Por exemplo, se cinco (5) valores estiverem empatados com uma classificação de 11, o próximo valor receberá uma classificação de 12.

Valor devolvido

O número de classificação de value entre todos os valores possíveis de expression avaliados para todas as linhas de table números.

Observações

  • Se expression ou value for avaliado como BLANK, ele será tratado como um 0 (zero) para todas as expressões que resultam em um número, ou como um texto vazio para todas as expressões de texto.

  • Se value não estiver entre todos os valores possíveis de expression então o RANKX adiciona temporariamente value aos valores de expression e reavalia o RANKX para determinar a classificação adequada de value.

  • Os argumentos opcionais podem ser ignorados colocando uma vírgula vazia (,) na lista de argumentos, como RANKX(Inventory, [InventoryCost],,,"Dense").

  • Comparações relacionadas à igualdade (=, <, >, >= e <=) entre valores com o tipo de dados Número decimal podem potencialmente retornar resultados inesperados ao usar a função RANKX. Resultados incorretos podem ocorrer porque os valores com o tipo de dados Número Decimal são armazenados como números de ponto flutuante IEEE Standard 754 e têm limitações inerentes em sua precisão. Para evitar resultados inesperados, altere o tipo de dados para Número decimal fixo ou faça um arredondamento forçado usando ROUND.

  • Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).

Exemplo

A coluna calculada a seguir na tabela Produtos calcula a classificação de vendas de cada produto no canal da Internet.

= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))