O que é self em Python: exemplos do mundo real
O que é self em Python: exemplos do mundo real
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.
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.
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:
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.
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.
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.
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:
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.
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.
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
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.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.
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.
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.
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.
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.
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.
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