Rankings no Power Query

Na atualização de junho do Power BI foi adicionada uma função no Power Query que não foi referida no resumo. Essa função é Table.AddRankColumn.

Esta função como nome indica permite adicionar uma coluna de Ranking a uma tabela. Anteriormente para adicionar uma coluna de ranking, através de M language tínhamos que fazer alguns passos avançados como Group By ou Add Index, com a introdução desta nova função já não precisamos.

A função Table.AddRankColumn tem a seguinte sintaxe:

Table.AddRankColumn(table as table, newColumnName as text, comparisonCriteria as any, optional options as nullable record) as table

Os parâmetros são os seguintes:

  • table: o nome da tabela sobre a qual queremos introduzir a coluna de ranking.
  • new column name: o nome da coluna de ranking.
  • comparison criteria: as condições que determinam a forma como o ranking será calculado.
  • options: é um parâmetro opcional para a escolha do tipo de ranking (RankKind). Existem 3 tipos de ranking: Competition, Dense e Ordinal.

Se tomarmos a tabela abaixo como exemplo, vamos então utilizar a nova formula para criar um ranking do Value baseado na Category.

Devemos então seguir os passos abaixo:

  • Utilizando o botão do lado direito do rato no último passo adicionamos um novo custom step
  • Na barra de fórmulas substituímos o código pelo seguinte:
= Table.AddRankColumn(
#"Changed Type",
"Ranking",
{"Value", Order.Descending},
[RankKind = RankKind.Competition]
)
  • Como podemos verificar temos uma nova coluna com a ordenação de acordo com a coluna Values ordenada de forma descendente.

Ao analisarmos o código podemos ver que no terceiro parâmetro definimos a ordenação que pode ser ascendente ou descendente.

Tal como referimos o parâmetro das options permite definir como são tratados os valores que tenham um ranking igual:

  • Ordinal – Não vão existir ranking com o mesmo número, o desempate é feito através da ordem dos valores na tabela original
  • Competition – Vão existir valores repetidos de ranking, no entanto os resultados não vão ser seguidos (por exemplo se tivermos dois resultados com o número de ranking de 3 o próximo valor de ranking será o 5)
  • Dense – Tem um comportamento similar ao competion, no entanto o ranking continua a ser seguido, ou seja, se tivermos dois valores de 3 o valor seguinte do ranking será o 4.

Mais uma das funcionalidades que o Power Query nos permite realizar, sendo que não sendo dinâmica (tal como nos permite a criação de uma medida DAX) é sempre uma alternativa.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

%d bloggers like this: