Ir para conteúdo
  • 0

Coluna personalizada - Conte as paradas classificando 0 e 1


christopher zimeni
Ir para solução Solucionado por Renato Carlos Rossato ,

Pergunta

  • Alunos

Boa tarde pessoal, tudo bem?

Estou com um problema onde eu preciso criar uma coluna extra onde ela identifique linha a linha se é uma parada ou não e classifique da seguinte forma  (Olhar anexo)

No excel a fórmula SE seria igual essa que está na imagem. Teria como fazer algo parecido em uma coluna personalizada ? Ou só na linguagem M que daria para fazer isso?

Quando o valor se repete na linha de baixo ele classifica como 0 e se for diferente ele coloca 1. Tudo isso com base nas colunas Machine e Class.

 

Vocês têm um norte que eu possa seguir para fazer isso?

exemplo.jpg.da3f7089a4d9a85f1b6c823264f71b9e.jpg

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá @christopher zimeni, veja se assim atende:

Fiz uma junção das colunas de data e hora e também ordenei primeiro por máquina e depois por data e hora e criei um índice no Power Query.

Depois fiz uma coluna calculada em DAX da seguinte forma utilizando esse índice criado:

Qtde Parada =
VAR INDICEATUAL = Planilha1[Índice]
VAR CLASSATUAL = Planilha1[Class]
VAR CLASSANTERIOR = LOOKUPVALUE(Planilha1[Class], Planilha1[Índice], INDICEATUAL - 1)
RETURN
SWITCH(
    TRUE(),
    CLASSATUAL = CLASSANTERIOR, 0, 1)

Em anexo o PBIX que criei fictício.

Espero ter ajudado.

Exemplo Parada 21-05-2023.pbix Exemplo.xlsx

  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 21/05/2023 em 16:41, Renato Carlos Rossato disse:

Olá @christopher zimeni, veja se assim atende:

Fiz uma junção das colunas de data e hora e também ordenei primeiro por máquina e depois por data e hora e criei um índice no Power Query.

Depois fiz uma coluna calculada em DAX da seguinte forma utilizando esse índice criado:

Qtde Parada =
VAR INDICEATUAL = Planilha1[Índice]
VAR CLASSATUAL = Planilha1[Class]
VAR CLASSANTERIOR = LOOKUPVALUE(Planilha1[Class], Planilha1[Índice], INDICEATUAL - 1)
RETURN
SWITCH(
    TRUE(),
    CLASSATUAL = CLASSANTERIOR, 0, 1)

Em anexo o PBIX que criei fictício.

Espero ter ajudado.

Exemplo Parada 21-05-2023.pbix 21.79 kB · 0 downloads Exemplo.xlsx 10.49 kB · 0 downloads

legal Renato gostei da forma que você tratou. Você criou um índice para classificar a ordem e se baseando nesse indice criou formula em DAX para classificar em 0 e 1.

Uma dúvida, pensando que essa base pode ter milhares de linhas, a atualização ficaria lenta por ter que utilizar a memória toda vez que for recalcular? Teria como fazer direto no Power Query sem DAX ou vc acha que não teria problemas?

 

Obrigado por disponibilizar o seu tempo em ajudar!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@christopher zimeni, o cálculo da.coluna calculada via DAX é feito logo após carregar os dados do Power Query, ou seja, uma única vez. Depois,.ele não será recalculado de novo. 

Como você necessita que seus dados estejam em ordem cronológica, no Power Query você também poderá ter lentidão ao realizar essa coluna quando tiver milhões de linhas.

Só testando para ver se a performance seria melhor no Power Query ou no DAX neste caso.

  • Like 2
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, Bruno Abdalla de Souza disse:

@christopher zimeni, o cálculo da.coluna calculada via DAX é feito logo após carregar os dados do Power Query, ou seja, uma única vez. Depois,.ele não será recalculado de novo. 

Como você necessita que seus dados estejam em ordem cronológica, no Power Query você também poderá ter lentidão ao realizar essa coluna quando tiver milhões de linhas.

Só testando para ver se a performance seria melhor no Power Query ou no DAX neste caso.

Maravilha, obrigado pela explicação

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...