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.
é 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.
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.
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.
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 .
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 .
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.
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.
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.
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.
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:
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.
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.
Você também pode fazer uma seleção usando Regiões do estado. Se você selecionar Nordeste, ele mostrará a classificação adequada.
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:
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.
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.
Fórmula #2: RANKX com ALL E VALUES
Vejamos agora a coluna County (Updated).
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:
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.
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.
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.
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í.
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.
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.
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.
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.
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:
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!
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.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
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.
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.
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.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
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
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.