Compartilhar via


RANKX

aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual

Retorna a classificação de um número em uma 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 valueescalar. A expressão é avaliada para cada linha de table, para generateall possível values para classificação. Consulte a seção comentários para entender o comportamento da função quando expression é avaliada como BLANK.

value (opcional) Qualquer expressão DAX que retorna uma única value escalar cuja rank deve ser encontrada. Consulte a seção comentários para entender o comportamento da função quando value é not encontrada na expressão.

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

order (opcional) Um value que especifica como rankvalue, baixo a alto or alto a baixo:

value value alternativo Descrição
0 (zero) FALSE Classifica em ordem decrescente de values de expressão. If value é igual ao número mais alto na expressão e RANKX retorna 1.

Esse é o value padrão quando o parâmetro order é omitido.
1 TRUE Classifica em ordem crescente de expressão. If value é igual ao menor número na expressão e RANKX retorna 1.

ties (opcional) Uma enumeração que define como determinar a classificação quando há vínculos.

enumeração Descrição
Skip O nextrankvalue, após um empate, é o rankvalue do empate mais a count de empate values. Por exemplo, if cinco (5) values estão empatados com um rank de 11, então o nextvalue receberá um rank de 16 (11 + 5).

Esse é o value padrão quando ties parâmetro é omitido.
Dense O nextrankvalue, após um empate, é o nextrankvalue. Por exemplo, if cinco (5) values estão empatados com um rank de 11, então o nextvalue receberá um rank de 12.

Retornar value

O número rank de value entre all possível values de expression avaliado para all linhas de números table.

Comentários

  • If expression or value avalia como BLANK é tratado como um 0 (zero) para expressões all que resultam em um número, or como um texto vazio para expressões de texto all.

  • If value é not entre all possível values de expressionRANKX adiciona temporariamente value ao values de expressionand reavalia RANKX para determinar o rank adequado de value.

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

  • Comparações de de igualdade (, , , ) entre com o tipo de dados número decimal pode potencialmente retornar resultados inesperados ao usar função. Resultados incorretos podem ocorrer porque values com tipo de dados número decimal são armazenados como números de ponto flutuante IEEE Standard 754 and têm limitações inerentes em sua precisão. Para evitar resultados inesperados, altere o tipo de dados para Fixed Número Decimalor fazer um arredondamento forçado usando ROUND.

  • Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or regras de RLS (segurança em nível de linha).

Exemplo

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

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