O que é e para que serve a função RANKX no Power BI?
- #Power BI
O Power BI é uma poderosa ferramenta de visualização e análise de dados que permite aos usuários criar relatórios e dashboards interativos. Um dos componentes mais úteis do Power BI é o DAX (Data Analysis Expressions), que é uma linguagem de fórmulas utilizada para cálculos e análise de dados. Dentro do DAX, uma das funções mais versáteis e amplamente usadas é a RANKX.
O que é?
RANKX é uma função DAX que classifica valores em uma tabela com base em uma expressão especificada. Essa função é usada para criar classificações dinâmicas que podem ser utilizadas em medidas e colunas calculadas. O RANKX é extremamente útil para comparar e ordenar dados, permitindo aos analistas identificar facilmente os melhores e piores desempenhos em um conjunto de dados.
Para que serve?
A função RANKX é usada principalmente para:
- Classificação de vendas ou desempenho: ordenar produtos, vendedores, regiões ou qualquer outra dimensão com base em métricas como vendas, lucro, desempenho, etc.
- Análise comparativa: facilitar a análise comparativa ao permitir que os analistas vejam a posição relativa de um item em comparação com os outros.
- Identificação de tendências: identificar rapidamente tendências ou outliers em conjuntos de dados grandes.
- Criação de rankings dinâmicos: criar rankings que se ajustam dinamicamente conforme os dados são filtrados ou segmentados.
Sintaxe da função
A sintaxe básica da função é a seguinte:
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
- table: retorna uma tabela de dados sobre a qual a expressão é avaliada.
- expression: retorna um único valor escalar. A expressão é avaliada para cada linha de table, para gerar todos os valores possíveis para classificação.
- value (opcional): retorna um valor escalar único cuja classificação deve ser encontrada. Quando o parâmetro value é omitido, o valor da expressão na linha atual é usado em vez disso.
- order (opcional): um valor que especifica como classificar value, do menor para o maior ou vice-versa
- ties (opcional): uma enumeração que define como determinar a classificação quando há empates
Para saber
Comentários sobre os parâmetros citados acima.
- 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, o RANKX adicionará temporariamente value aos valores de expression e reavaliará RANKX para determinar a classificação adequada de value.
- Argumentos opcionais podem ser ignorados colocando-se uma vírgula vazia (,) na lista de argumentos.
- Comparações relacionadas à igualdade (=, <>, >= e <=) entre valores com o tipo de dados Número Decimal podem possivelmente 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 relação à precisão deles. Para evitar resultados inesperados, altere o tipo de dados para Número Decimal Fixo ou faça um arredondamento forçado usando round.
- Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.
Exemplo simples e prático
Vamos trabalhar com dados de desempenho dos funcionários em uma empresa. Suponha que temos uma tabela chamada "Desempenho" com as seguintes colunas "Funcionario" (nome do funcionário) e "AvaliacaoDesempenho" (pontuação de cada funcionário). Vamos criar uma medida que classifique os funcionários com base na pontuação, de forma que possamos identificar os melhores e os piores desempenhos.
1) Criar uma nova medida
2) Vá para o campo Modeling e clique em New Measure
3) Digite a fórmula da medida:
RankFuncionario = RANKX(ALL(Desempenho[Funcionario]), SUM(Desempenho[AvaliacaoDesempenho]), , DESC, DENSE)
ALL(Desempenho[Funcionario]): considera todos os funcionários na tabela, ignorando qualquer filtro aplicado.
SUM(Desempenho[AvaliacaoDesempenho]): calcula a soma da pontuação de desempenho para cada funcionário. Neste caso, como cada funcionário tem apenas uma pontuação, o SUM retorna a própria pontuação.
DESC: classifica em ordem decrescente, de forma que o funcionário com a maior pontuação de desempenho receba a classificação mais alta (1).
DENSE: utiliza a classificação densa, onde funcionários com a mesma pontuação recebem a mesma classificação.
4) Use a medida em uma visualização
Adicione uma tabela ou matriz ao seu relatório do Power BI e inclua as colunas "Funcionario", "AvaliacaoDesempenho" e a nova medida "RankFuncionario".
A visualização mostrará os funcionários classificados de acordo com suas pontuações de desempenho, facilitando a identificação dos melhores e piores.
Conclusão
A função RANKX no Power BI é uma ferramenta essencial para a análise e visualização de dados. Ela permite aos usuários classificar dados de maneira eficiente, proporcionando insights valiosos sobre desempenho e tendências. Seja para criar rankings de vendas, analisar desempenhos relativos ou identificar outliers, o RANKX oferece a flexibilidade e a precisão necessárias para realizar análises detalhadas e dinâmicas.