Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

é a função DAX mais usada para classificar insights no LuckyTemplates. É uma função simples, mas pode ser frustrantemente confusa para iniciantes. No entanto, é uma função muito poderosa que pode gerar informações valiosas para seus relatórios.

Neste artigo, você conhecerá os meandros da função RANKX DAX. Você aprenderá quando e como usá-lo e verá como essa função é útil à medida que exploramos alguns cenários e exemplos.

Índice

Definição e sintaxe da função DAX RANKX

A função RANKX LuckyTemplates DAX retorna a classificação de um determinado número em uma lista de números para cada linha no argumento da tabela. Ele pode ser usado em cálculos para colunas calculadas e medidas calculadas. Abaixo está a sintaxe da fórmula RANKX.

RANKX(
     , , , ,
)

Para o parâmetro de tabela, você pode inserir uma tabela padrão importada no LuckyTemplates ou uma tabela calculada por meio do DAX. RANKX, como uma função de iteração , itera por essa tabela e classifica um número específico. Isso depende do número de valores dentro da tabela. Por exemplo, se a tabela tiver 20 valores, o RANKX terá um resultado de classificação de 1 a 20.

Uma chave para entender a função RANKX é que ela retorna um valor escalar . Dentro do parâmetro de expressão, precisamos de uma expressão DAX que retorne um valor escalar. Essa expressão faz um loop e itera em cada linha da tabela, fornecendo os valores de classificação de acordo.

Os parâmetros value e order são opcionais, enquanto o parâmetro ties ajuda a determinar a classificação quando há empates em seus valores.

Conceitos de fórmula RANKX e LuckyTemplates DAX

Há uma série de conceitos para entender bem para garantir que os resultados de classificação que você espera sejam criados. Discutirei o conceito mais importante ao executar um cálculo DAX, que é ' contexto '. Depois de entender isso, você pode realmente entender como usar a função RANKX de maneira eficaz.

RANKX é uma função DAX muito exclusiva que requer um nível mais profundo de pensamento sobre sua lógica e como ela realmente funciona ao executar um cálculo em um contexto específico (por exemplo, uma tabela ou gráfico dentro do LuckyTemplates).

Cada parâmetro diferente dentro da função DAX RANKX pode alterar a forma como calcula um resultado. Existem vários parâmetros que você pode inserir nessa função DAX para entender como cada um pode determinar o resultado subjacente, que é considerado importante.

É por isso que entender os principais elementos e conceitos de como o RANKX funciona em vários contextos é essencial. Isso permitirá que você tenha certeza de que seus cálculos estão corretos e que seus consumidores estão visualizando insights que realmente fazem sentido.

Cenário RANKX DAX básico

Primeiro, vamos dar uma olhada em um cálculo RANKX simples. Neste exemplo, estamos tentando  identificar a classificação desses produtos com base nas vendas  (isso também pode ser baseado em qualquer medida) em todos os diferentes produtos que vendemos.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Primeiramente, precisamos criar uma tabela dentro do RANKX para avaliar cada produto com base na medida que especificamos. A  função  pode ser usada para remover qualquer filtro da  tabela Produtos  e avaliar cada produto. 

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Mas, se retirarmos o filtro (no caso, a  função ALL  ), e usarmos apenas “Produtos”, o resultado será diferente. É por isso que precisamos usar a função ALL para obter o resultado correto. É assim que você pode resolver   cálculos  RANKX simples.

Mas e se ficar mais complexo? E se você precisar de resultados de classificação que não sejam baseados apenas no total de vendas? Bem, é aí que precisamos entender o contexto atual desse cálculo. Precisamos saber como podemos manipular o contexto para obter o resultado que queremos.

Cenário RANKX DAX Complexo

Vamos tentar trazer a fórmula exatamente semelhante (medida de classificação do produto) para a tabela do lado direito.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Como você pode ver, ele nos deu outro resultado errôneo. A razão por trás disso é que também temos uma coluna Nome do cliente aqui. Se olharmos para a fórmula novamente, você verá que  não está quebrando cada cliente individualmente . Estamos apenas avaliando os produtos para cada cliente específico.

Vamos tentar resolver a  coluna Nome do cliente  .

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Mesmo se classificarmos a coluna Nome do cliente, a classificação do produto ainda será alterada com base na classificação do produto que eles compraram. Existem muitos números iguais. Um exemplo é a classificação 17. Nesse caso, pode ser porque  esse cliente em particular comprou apenas 17 produtos .

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Isso é talvez o que você precisa neste cenário. Mas e se você precisar de algo um pouco mais complexo do que isso? E se você precisar da classificação de 1 a um valor indefinido dos contextos Nome do Cliente e Produto?

Como enfatizei, é importante  entender o contexto e como podemos manipular o contexto  para obter o resultado que queremos.

Em nosso exemplo, temos duas dimensões que são de duas tabelas totalmente diferentes. Temos a  coluna Nome do cliente da  tabela Clientes e a coluna Nome do produto da tabela Produtos.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Precisamos de alguma forma remover filtros nesta tabela virtual dentro da lógica RANKX de ambas as tabelas. Precisamos fazer o que fizemos na primeira tabela (lado esquerdo), mas precisamos fazê-lo nas colunas Nome do cliente e Nome do produto em ambas as tabelas específicas.

Eventualmente, obteremos a classificação correta por meio de Vendas totais do nome do cliente e do nome do produto. Aqui está a fórmula que podemos usar para este cenário distinto.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

A função nos permite unir duas colunas, ou também pode ser duas tabelas. No entanto, neste caso, vamos apenas juntar colunas.

Estamos  removendo todos os filtros  das tabelas Clientes e Produtos. Em seguida, iremos iterar por cada linha nesta tabela virtual e avaliar ou identificar onde está a classificação específica para este subconjunto específico de nome de cliente e nome de produto.

Exemplo RANKX DAX avançado

Como você pode ver nos exemplos anteriores, a função RANKX fornece informações valiosas quando você a usa para vários contextos diferentes na página do relatório. No entanto, também pode ser uma das funções mais confusas para usar no LuckyTemplates. Ele pode fornecer resultados diferentes que parecem corretos, quando, na verdade, estão errados. Se você não for cuidadoso, acabará tendo que refazer todo o relatório.

Você precisa de uma compreensão sólida do contexto e aprender a usar o RANKX dentro desse contexto.

Estarei mergulhando no quão complexo o RANKX pode ser às vezes. Vou trabalhar com um exemplo para que você possa entender as muitas nuances de trabalhar com essa função.

Na visualização abaixo, temos o Ranking de Municípios, o Ranking de Estados e o Ranking de Regiões Estaduais.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Gerenciar o contexto do cálculo pode ser difícil se você quiser vê-los todos em uma matriz. Vejamos a tabela. Você pode ver que ele tem informações sobre as Regiões do Estado, Estado e Município.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Para este exemplo, você precisa calcular a classificação dos condados. Se você tiver apenas o condado, a classificação do condado e as vendas totais na tabela, obterá os resultados corretos da classificação:

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Mas quando você começa a sobrepor os outros contextos na tabela, o resultado do ranking começa a se acumular para cada município que está em diferentes estados e regiões do estado.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Portanto, você precisa identificar e alterar o contexto do cálculo para garantir que obtém a classificação geral correta para cada condado, independentemente do que está selecionado na página do relatório. Sempre que você seleciona um estado como o Colorado, a fórmula também é atualizada.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Você também pode fazer uma seleção usando Regiões do estado. Se você selecionar Nordeste, ele mostrará a classificação adequada.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Neste exemplo, duas fórmulas são usadas para obter o County Ranking. Isso ajudará você a entender a diferença nos resultados gerados usando diferentes funções DAX junto com o RANKX:

Fórmula #1: RANKX com ALL e ALLSELECTED

A função ALL é a parte chave desta fórmula para County Rank:

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Ele manipula o contexto dentro da fórmula RANKX. Em seguida, itera pela tabela Regions e cria o resultado da classificação. Nesse caso, a função ALL está funcionando virtualmente em todos os condados, independentemente do contexto inicial.

Esse problema se torna complicado quando você começa a criar camadas em contextos de segmentação de dados. Ao usar , a classificação será atualizada automaticamente dependendo da seleção na segmentação de dados. Você também precisa utilizar para colocar contexto adicional em um resultado ou para alterar o contexto do cálculo.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

O contexto é ajustado com base nos filtros da função CALCULAR. Com isso, o ranking se ajustará com base no contexto proveniente dos segmentadores Estado e Região do Estado.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Fórmula #2: RANKX com ALL E VALUES

Vejamos agora a coluna County (Updated).

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Você deseja certificar-se de que esta coluna continuará a mostrar a classificação geral, independentemente do que estiver selecionado nas segmentações. Cada condado deve ter um número único.

Esta é a fórmula utilizada:

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Para este exemplo, não havia como decifrar um condado único, então outra coluna foi criada. A coluna Condado Completo inclui o Condado, o Estado e a Região.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Isso lhe dá uma boa distinção entre os condados. Desta forma, você já pode trabalhar uma tabela virtual dos Municípios que constam nos dados. Antes de fazer isso, você precisa remover o contexto ALL da tabela Regions.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Portanto, qualquer contexto proveniente da tabela Region não existe neste momento. Com a função , você pode adicionar novamente o contexto da coluna Full County.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Uma opção é fazer referência a cada coluna usando a função ALL, mas a melhor alternativa é se livrar de todo o contexto das Regiões e trazer de volta apenas o Condado Completo. Uma vez manipulado o contexto dentro de CALCULATE, a função RANKX começa seu trabalho a partir daí.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

O RANKX trabalha em cada condado em cada linha junto com suas vendas totais e, em seguida, os classifica. É assim que você obtém os valores de 1 a X na linha County (Updated). Como resultado, filtros e segmentações não importarão e não afetarão a classificação porque a fórmula foi definida para ignorá-los.

Outros exemplos práticos de medição RANKX do LuckyTemplates

Agora que você aprendeu os conceitos básicos de RANKX e LuckyTemplates DAX, vamos explorar mais exemplos de como o RANKX é usado. Primeiro, analise um exemplo em que o RANKX é usado para encontrar os valores superior e inferior. O próximo exemplo mostra o RANKX como uma forma de segmentar ou agrupar resultados.

Encontrando valores superiores e inferiores usando RANKX

Um uso comum de RANKX é quando você deseja descobrir seus valores superiores ou inferiores . Por exemplo, se você deseja encontrar seus principais clientes ou produtos inferiores, pode usar o RANKX junto com outras funções DAX.

Neste primeiro exemplo, mostrarei como combinar RANKX com as funções CALCULATE e para ver quem são nossos principais clientes, não apenas por um período estático de tempo, mas também ao longo do tempo. Em seguida, vamos mostrá-lo em uma matriz de vendas de nossos 10 principais clientes.

Quando colocamos o trimestre e o ano  e as  medidas de vendas totais  em uma matriz, obtemos todos os resultados. Isso é ótimo, mas pode ser muito difícil ver qualquer insight e detectar tendências.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Queremos ver tendências e determinar quem são nossos 10 principais clientes para este período. Por exemplo, tivemos um cliente que por um período de tempo foi um dos nossos principais clientes, mas se afastou totalmente? Esse é o tipo de percepção que estamos procurando.

Podemos fazer isso usando uma fórmula. Aqui está a medida que criei usando a função CALCULAR para calcular nossas vendas totais para os clientes que estão entre os 10 primeiros.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Temos que usar a lógica de classificação  para criar um indicador de lógica de classificação que dirá que, se esse cliente estiver entre os 10 principais, retorne esse valor de Vendas totais. Além de usar o RANKX no LuckyTemplates, também usaremos a função FILTER e depois VALUES, que criará uma tabela interna para cada cliente.

Então precisamos pensar em qual lógica escrever aqui, algo que diga “se a classificação atual for menor ou igual a 10 igual ao total de vendas, caso contrário, igual em branco”. O que é realmente legal em declarações de filtro como essa é que você pode escrever esse tipo de lógica dentro dela.

Então, vamos usar a função RANKX e ALL Customer Names porque vamos classificar cada cliente em qualquer contexto específico. A ALL elimina qualquer filtro de Nomes de Clientes para que possamos completar este ranking.

Em seguida, classificaremos por Total de vendas e classificaremos em ordem decrescente e, em seguida, iremos para menos ou igual a 10. for, queremos que seja igual a Total de vendas e, se não for, que fique em branco.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Por fim, substituiremos nossas vendas totais por nossos 10 principais clientes. Podemos ver os 10 principais clientes para cada período de tempo e implementar a formatação condicional para torná-lo visualmente melhor. Também podemos usar a formatação condicional para obter insights mais atraentes.

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Se você estiver vendendo para clientes muitas vezes, convém reduzir o prazo; mas se for apenas você vendendo para clientes 2 ou 3 vezes por ano, convém analisar as coisas a partir de um período de tempo mais longo.

Há outra função DAX, chamada TOPN, que também é usada para classificar insights. No entanto, ainda há uma grande . Tenha em mente que TOPN é uma função de tabela enquanto RANKX retorna um valor escalar . A chave é entender o contexto em que você coloca essas funções.

Combinando agrupamento dinâmico usando o LuckyTemplates RANKX

Outra ótima maneira de usar o RANKX é segmentar ou agrupar resultados , em vez de apenas mostrar os resultados sozinhos sem nenhum contexto.

Neste exemplo, em vez de apenas mostrar um resultado de vendas genérico, quero ver se um cliente estava entre os primeiros resultados e ver se isso muda com o tempo. Quero entender quanto de nossas vendas vêm de nossos 5 principais clientes, dos 5 aos 20 principais e, em seguida, do restante de nossos clientes.

Para ver se há uma tendência acontecendo, precisamos criar grupos dinâmicos e avaliá-los ao longo do tempo. Isso é muito difícil de fazer, especialmente se você estiver trabalhando no Excel. Mas se você entender o DAX muito bem, poderá escrever uma fórmula que não demore muito para ser escrita e, então, ela se tornará um padrão que você poderá usar repetidamente.

Aqui está a medida que criei para este cenário:

Função RANKX DAX no LuckyTemplates: uma visão geral abrangente

Começamos com a função CALCULAR porque nada acontece sem CALCULAR. Então, adicionamos Total Sales porque é isso que estamos resumindo.

Em seguida, precisamos filtrar uma tabela de nomes de clientes que iterará em cada cliente, avaliar qual é a classificação deles e, em seguida, verificar se a classificação está acima ou abaixo do MIN e MAX que acabamos de criar.

O próximo passo é usar a função e a função FILTER novamente. Em seguida, escolha Grupos de clientes, que é a tabela que criei.

Em seguida, vamos iterar por esta tabela usando RANKX. Estamos calculando as vendas totais no topo, mas a tabela de grupos de clientes é, na verdade, a classificação. Precisamos obter a classificação de cada um desses clientes individuais e ver se eles estão dentro de algum dos grupos que estão na tabela Grupos de clientes.

Em seguida, os classificaremos por Total de vendas e, em seguida, escolheremos DESC para classificá-los como 1 para o mais alto e 200 para o mais baixo. Em seguida, fecharemos com um maior que o para os clientes com classificação mais alta. Por fim, usaremos o RANKX com a mesma lógica que usamos acima, mas com menor ou igual a .

Você pode usar esse repetidamente em muitos cenários aplicáveis. O RANKX permite que você crie tabelas dinâmicas de classificação , fornecendo insights de classificação incríveis.

Conclusão

RANKX é uma função simples, mas não é uma função fácil de usar. A chave é focar em suas nuances para poder entender melhor a função. Existem muitas maneiras de usar a função RANKX em cálculos DAX, especialmente quando combinados com diferentes funções. Você ficará surpreso com a flexibilidade dessa função dentro do LuckyTemplates.

Os exemplos que mostrei neste blog são definitivamente as melhores maneiras de demonstrar o RANKX, especialmente quando se trata de sua versatilidade no cálculo de qualquer tipo de análise de classificação. Pode ser usado em vários cenários diferentes.

A principal conclusão aqui é que você realmente precisa entender o contexto de onde sua função RANKX está sendo colocada.

Espero que você ache este conteúdo útil e o utilize em seu próprio ambiente de trabalho.

Saúde!

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.