Joviano

Bem vindo ao

Blog do Jovi!

O blog do Jovi tem como objetivo ajudar você com suas dúvidas, além de expandir seu conhecimento através da informação.

Encontrar o maior valor entre medidas usando DAX

Imagine que seu modelo de dados tem muitas medidas, e você precisa que seja mostrada a medida com maior valor usando DAX.

Talvez você tenha pensado em usar o IF, mas seria eficaz somente se fossem 2 medidas, mas quando partimos para mais que isso, começa a ficar impraticável a quantidade de testes lógicos.

Ai então que entra o macete no DAX que queremos te explicar aqui nesse artigo.

Conhecendo as medidas

Vamos aqui focar em 3 medidas simples, apenas para exemplificar o nosso problema:

Medida1 = SUM(Tabela[Coluna1])
Medida2 = SUM(Tabela[Coluna2])
Medida3 = SUM(Tabela[Coluna3])

Veja que cada uma delas está somando os valores de uma coluna específica, no contexto que estiver sendo filtrado.

A Mágica do DAX para Comparar

Agora, usamos uma fórmula DAX para criar uma nova medida que compara essas três e seleciona a maior.

Para isso vamos usar uma combinação de 2 técnicas:

  • Criação de Tabela Manual;
  • Avaliação linha a linha da tabela criada (que não existe fisicamente).
MaiorMedida = MAXX(
    {
        ( "Medida1", [Medida1] ),
        ( "Medida2", [Medida2] ),
        ( "Medida3", [Medida3] )
    },
    [Value]
)

Após aplicar a medida MaiorMedida, o DAX nos dirá qual medida teve o maior valor.

E se você desejar o menor valor?

Da mesma maneira que você usou o MAXX, você pode usar as demais funções DAX de interação, como o MINX, SUMX, AVERAGEX (por exemplo).

Veja só como é simples a alteração, seguindo a mesma lógica:

MenorMedida = MINX(
    {
        ( "Medida1", [Medida1] ),
        ( "Medida2", [Medida2] ),
        ( "Medida3", [Medida3] )
    },
    [Value]
)

Mas o que são funções iteradoras no DAX?

As funções iteradoras no DAX são aquelas que percorrem (iteram) linha por linha de uma tabela ou de um conjunto de linhas, realizando cálculos em cada uma delas.

É como se você tivesse um assistente pessoal que vai de porta em porta (ou linha em linha) fazendo perguntas e anotando as respostas.

Sem essas funções, você teria que fazer malabarismos com várias outras funções para conseguir o mesmo resultado.
Elas simplificam o processo, tornando o cálculo de agregações complexas mais direto e menos parecido com resolver um quebra-cabeça de 1000 peças.

Exemplo dessas funções:

  1. SUMX: Pense no SUMX como um caixa de supermercado que soma o preço de cada item individualmente. Ele pega uma tabela, percorre cada linha e soma os valores de uma expressão que você define.
  2. AVERAGEX: É o amigo equilibrado que calcula a média. Ele passa por cada linha, calcula um valor e depois tira a média desses valores.
  3. MINX e MAXX: São os caçadores de tesouros. MINX busca o menor valor, e MAXX procura o maior em cada linha da tabela.
  4. COUNTX: É como um porteiro de balada contando quantas pessoas passam pela porta. Ele conta quantas vezes uma expressão retorna um valor não nulo para cada linha.
  5. CALCULATETABLE: Um pouco diferente, mas ainda no clube das iteradoras. Ele filtra uma tabela com base em uma ou mais condições e depois aplica outras funções DAX a essa tabela filtrada.

Vamos usar o SUMX como exemplo.
Imagine que você tem uma tabela de vendas e quer calcular o total de vendas.
O SUMX vai:

  1. Pegar a primeira linha da tabela.
  2. Calcular o valor da expressão para essa linha (por exemplo, quantidade vendida * preço por unidade).
  3. Anotar o resultado.
  4. Ir para a próxima linha e repetir o processo.
  5. No final, ele soma todos esses valores calculados.

Aprofundando o Conhecimento: Criando Tabelas no DAX

A solução que passamos dependeu do uso da técnica de criação manual de tabela DAX, e tenho um artigo completo aqui no meu BLOG, falando sobre as formas de criação de tabelas com DAX.
Acesse aqui e acesse um dos meus artigos mais lidos aqui do BLOG.

Ah, já use um ctrl + d para salvar como favoritos, pois você vai usar muito essa técnica.

Descubra Mais no YouTube: Aula Visual Sobre DAX

Prefere um aprendizado visual?
Assista à minha aula no YouTube, onde exploro como selecionar a variável com maior valor no DAX.
Assista ao vídeo aqui

Esse vídeo foi gravado para solucionar essa dúvida de um dos alunos da FORMAÇÃO POWER QUERY 2.0 (meu pacote completo de cursos).
Clique no botão a seguir e conheça:

Conclusão

Dominar essas técnicas no DAX é como receber uma ovação de pé em análise de dados.
Você economiza tempo e ganha insights valiosos.
Mesmo que você não seja um programador, com as ferramentas certas e um pouco de prática, você pode fazer análises incríveis.

E por hoje é isso,
Forte abraço do

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Receba conteúdos do Jovi!

Digite seu interesse abaixo:

Quer Aprender sobre Power Query?

Conheça nossa formação e tudo que você pode aprender com ela.

Mais conteúdos gratuitos para você!

OPA, vejo que você é novo por aqui!

Temos um presente de boas vindas para os amantes de Blog!

E ai FERA?!

Não vou atrapalhar tua leitura deste super artigo.

Só quero te dizer que por ser um visitante novo aqui no site, nosso sistema está programado para te enviar um cupom de desconto para a FORMAÇÃO POWER QUERY 2.0, que é um pacotão de cursos do JOVI, com mais de 300 horas de conteúdo.

Informe seus dados a seguir, que te enviaremos as instruções para resgate desse cupom exclusivo.

Exemplo 👉 +5511988776655 👈 [não informar pontos, traços e parênteses]

explicação telefone

Números do Brasil devem iniciar com +55
Preencha conforme o exemplo, pois o presente será enviado por WhatsApp para esse número. 

Após enviar, pode fechar essa janela, que seu presente já está em processamento.

A ementa possui centenas de aulas, e resumimos em um painel de PowerBI o qual enviaremos a você.

Preencha seu nome e email que em instantes receberá a ementa completa deste pacote de cursos.

Formato Aceito: [+ código do pais] [código de área] [número]