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
orvalue
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 deexpression
RANKX adiciona temporariamentevalue
ao values deexpression
and reavalia RANKX para determinar o rank adequado devalue
.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]))