RANKX Deep Dive: uma função LuckyTemplates DAX

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


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.

Apresentar insights usando a técnica de visuais dinâmicos multithread no LuckyTemplates

Apresentar insights usando a técnica de visuais dinâmicos multithread no LuckyTemplates

Este tutorial abordará como usar a técnica Multi Threaded Dynamic Visuals para criar insights de visualizações de dados dinâmicos em seus relatórios.

Introdução ao contexto de filtro no LuckyTemplates

Introdução ao contexto de filtro no LuckyTemplates

Neste artigo, analisarei o contexto do filtro. O contexto do filtro é um dos principais tópicos sobre os quais qualquer usuário do LuckyTemplates deve aprender inicialmente.

Melhores dicas para usar os aplicativos no serviço online do LuckyTemplates

Melhores dicas para usar os aplicativos no serviço online do LuckyTemplates

Quero mostrar como o serviço online do LuckyTemplates Apps pode ajudar no gerenciamento de diferentes relatórios e insights gerados de várias fontes.

Analisar alterações de margem de lucro ao longo do tempo – Analytics com LuckyTemplates e DAX

Analisar alterações de margem de lucro ao longo do tempo – Analytics com LuckyTemplates e DAX

Aprenda a calcular suas alterações de margem de lucro usando técnicas como ramificação de medida e combinação de fórmulas DAX no LuckyTemplates.

Ideias de materialização para caches de dados no DAX Studio

Ideias de materialização para caches de dados no DAX Studio

Este tutorial discutirá sobre as ideias de materialização de caches de dados e como elas afetam o desempenho dos DAXs no fornecimento de resultados.

Relatórios de negócios usando o LuckyTemplates

Relatórios de negócios usando o LuckyTemplates

Se você ainda estiver usando o Excel até agora, este é o melhor momento para começar a usar o LuckyTemplates para suas necessidades de relatórios de negócios.

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber