Ir para conteúdo
  • 0

Coluna personalizada - Conte as paradas classificando 0 e 1


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

Pergunta

  • Alunos
Postado

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

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
Postado

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
  • 0
  • Alunos
Postado
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!

  • 0
  • Alunos
Postado

@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
  • 0
  • Alunos
Postado
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

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...