RANKX Deep Dive: uma função LuckyTemplates DAX

Hoje vamos nos aprofundar no RANKX, uma função DAX escalar no LuckyTemplates que permite retornar a classificação de um número específico em cada linha da tabela que faz parte de uma lista de números. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Índice

Cenários de amostra

Analisaremos alguns dos cenários mais importantes, incluindo quando referenciar uma tabela inteira e um nome de campo dentro da .

Também examinaremos o que acontece quando o nível de granularidade diminui e quando uma ordem de classificação é aplicada a um campo. Por fim, examinaremos mais de perto a melhor prática em referenciar um nome de tabela ou um nome de campo ao longo da tabela e como a classificação é avaliada no back-end.

Cenário RANKX 1: classificação do cliente

Em nosso primeiro cenário, queremos calcular a classificação de nossos clientes e referenciar toda a tabela de clientes dentro da função RANKX. Por fim, descobriremos como os resultados são avaliados.

Então, vamos começar abrindo o LuckyTemplates e clicando no botão de opções Total Sales na guia Key Measures e, em seguida, vá para New Measure . Escreva uma medida para a classificação do cliente (por exemplo, “Classificação do cliente =”).

Você pode visualizar os resultados arrastando a medida de classificação do cliente para dentro da tabela.

RANKX Deep Dive: uma função LuckyTemplates DAX

Mas esta é a melhor abordagem para cada cenário? E se houver duas pessoas com o mesmo nome, mas em cidades diferentes? Ou se tivermos dois lugares com o mesmo nome, mas territórios diferentes?

Cenário RANKX 2: Ranking de Cidades V1

Agora, vamos aplicar a mesma abordagem no primeiro cenário. Desta vez, porém, vamos aplicá-lo sobre a tabela de regiões onde temos duas cidades com o mesmo nome, mas em dois locais diferentes.

RANKX Deep Dive: uma função LuckyTemplates DAX

Como você pode ver na imagem acima, dentro da tabela de regiões, temos duas cidades com o mesmo nome, mas estão disponíveis em dois territórios diferentes. Então, o que acontece quando aplicamos as mesmas etapas do cenário anterior?

Os resultados serão mais ou menos assim:

RANKX Deep Dive: uma função LuckyTemplates DAX

Agora começamos a ver um problema com nossa fórmula de classificação. Como a função RANKX está iterando em todo um conjunto de tabelas, ela não pode consolidar os resultados das cidades com o mesmo nome, que estão disponíveis em dois territórios diferentes. Em última análise, isso resulta em um erro.

Para resolver este problema, você precisa referenciar o nome do campo dentro da função RANKX e o nome da tabela, assim como na imagem abaixo.

RANKX Deep Dive: uma função LuckyTemplates DAX

Então, como corrigiu o erro? Quando referenciamos um nome de campo dentro da função RANKX, ele irá iterá-lo apenas por aquela coluna e não por toda a tabela.

Ele removerá as duplicatas mesmo que as duas cidades estejam disponíveis em dois territórios diferentes, consolidando-as como uma única cidade.

Cenário RANKX 3: Classificação dos Territórios

Então, o que acontece quando o nível de granularidade diminui?

Nesse caso, você verá o erro ao calcular a classificação em nível territorial. O motivo é que quando referenciamos apenas o nome da tabela e ignoramos o nome da coluna novamente, ele itera sobre uma tabela inteira, falhando na consolidação dos resultados em nível territorial.

Para obter os resultados corretos em nível territorial, você precisa referenciar o campo Territórios dentro da tabela de regiões. Mas quando você deve fazer referência a todo o tema da tabela e incluir o nome do campo junto com a tabela?

Quando a classificação é aplicada no nível mais baixo de granularidade, podemos nos referir ao nome da tabela e ignorar o nome do campo.

RANKX Deep Dive: uma função LuckyTemplates DAX

Mas quando o nível de granularidade diminuir, teremos que referenciar o nome da coluna junto com o nome da tabela. Até o momento, estamos analisando os resultados apenas em um único visual, ou seja, uma tabela.

Ranking de cidades V2: a melhor abordagem usando Slicer

Vamos duplicar o segundo cenário em que o lado esquerdo do visual fará referência apenas a um nome de tabela, enquanto o lado direito fará referência ao nome da coluna dentro da função RANKX. Em seguida, compararemos os resultados trazendo um cortador para essa página na forma de territórios, o que resulta na imagem abaixo.

RANKX Deep Dive: uma função LuckyTemplates DAX

Quando fizermos uma seleção no slicer, você notará que no lado esquerdo do visual da tabela, ele não fornece o resultado em ordem serial, pois o RANKX está iterando em toda a tabela da região. No lado direito do visual da tabela, no entanto, você verá os resultados em uma ordem serial.

O motivo é que o RANKX está iterando apenas em uma coluna específica da tabela, permitindo filtrar os resultados de acordo com a seleção feita no slicer. É também uma das coisas mais importantes a serem lembradas.

Se quisermos ver os resultados gerais da classificação, podemos fazer referência apenas ao nome da tabela dentro da função RANKX .

Mas se quisermos que nossos resultados estejam em ordem serial de acordo com a seleção feita no slicer, também precisamos referenciar um nome de coluna dentro da função.

Cenário RANKX 4: classificação de produtos

Por fim, vamos prosseguir com nosso cenário final. Vamos examinar o que acontece quando colocamos um pedido de produto em um determinado campo e como o RANKX avalia a classificação no back-end.

Neste cenário, estamos usando o nome de produtos da tabela de produtos para analisar quais são nossos produtos de melhor desempenho .

Assim como no primeiro cenário, você precisa escrever uma medida de classificação para seus produtos (neste caso, usaremos a classificação de produtos). Se você trouxer a medida de classificação dos produtos para dentro do visual, verá um resultado igual ao da imagem abaixo:

RANKX Deep Dive: uma função LuckyTemplates DAX

Você pode ver que, embora tenhamos referenciado nosso campo de nome do produto dentro da função RANKX, ela não está avaliando os resultados corretamente. Então, por que isso está acontecendo? Para responder a essa pergunta, precisamos abrir o DAX Studio .

Cenário RANKX 5: Estúdio DAX

Então, vamos abrir o estúdio DAX e ver como o RANKX avalia os resultados da classificação no back-end.

Na imagem abaixo, copiei a consulta do visual da tabela por meio do Performance Analyzer e colei no DAX studio. Como você pode ver nesta consulta, há também o índice de produtos, um campo de classificação dentro da tabela de produtos.

RANKX Deep Dive: uma função LuckyTemplates DAX

Assim, embora em nosso visual de tabela tenhamos trazido apenas o nome do produto, vendas totais e medida de classificação, esse campo é referenciado por padrão no back-end do cálculo de classificação.

Agora, vamos corrigir nossa medida de classificação do produto referenciando o campo de classificação dentro da função RANKX e ver os resultados pela última vez.

RANKX Deep Dive: uma função LuckyTemplates DAX

Como você pode ver na imagem acima, os resultados para os nomes dos produtos agora estão sendo avaliados corretamente. Assim, sempre que tivermos um campo ordenado por outro campo, precisamos referenciar ambos os campos dentro da função RANKX com base em todos os cenários que discutimos hoje.

Conclusão

Esses são alguns dos cenários ao usar a função RANKX em cálculos DAX. No geral, existem muitas outras maneiras de fazer isso em uma ampla variedade de funções.

A coisa mais importante a lembrar é que você precisa entender o contexto no qual sua função RANKX está sendo colocada.

O RANKX é excepcionalmente versátil no cálculo de qualquer tipo de análise de classificação dentro do LuckyTemplates. Ele também permite insights avançados que impressionam os consumidores de seus relatórios e visualizações.

Tudo de bom,

Harsh Anil Joshi

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.