Ir para conteúdo
  • 0

Medida considerando última data


Marco Pereira
Ir para solução Solucionado por CelsoEliezer ,

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá Marco Pereira,

Tente com Max para buscar a Data,   e  depois buscar o status a partir dela,  veja se atende ao seu propósito,  blz!

Status Ultima Ocorrência =
var VmaxData   =  MAX(fDataMov[Ddata])
RETURN          
                Calculate(
                          MAX(
                             fDataMov[Status]), 
                                              FILTER(
                                                  fDataMov, fDataMov[Data] = vMaxData)
                         )

Editado por CelsoEliezer
erro de grafia
  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Prezado @Marco Pereira, segue o PBI pronto em anexo, primeiro criei uma dcalendario, após criei a dimensão dmáquinas, fiz os relacionamentos e criei as medidas data atual e status atual, abaixo descritas:

 

dCalendario =
ADDCOLUMNS(
CALENDARAUTO();
"Ano"; FORMAT([Date]; "yyyy");
"Nome Mês"; FORMAT([Date]; "mmm");
"Dia"; FORMAT([Date]; "dd")
)

image.thumb.png.402860fc98c616a8e53d993dc124d777.png

 

Data Atual = MAX(fPlan1[Data])

 

Status Atual =
VAR vDATA_ATUAL = MAX(fPlan1[Data])
RETURN
CALCULATE(
VALUES(fPlan1[Status]);
FILTER(
ALL(
fPlan1);
fPlan1[Data] = vDATA_ATUAL
)
)

 

image.thumb.png.5c8edef745aadec7cf2372d734e4d4f9.png

 

Caso alguma resposta tenha ajudado, você pode marcá-la como Solução e votar positivamente a resposta. Com isso o tópico será fechado, obrigado!

Atenciosamente,
Nelson Maroni

https://www.instagram.com/maroninc/

https://www.linkedin.com/in/nelson-carlos-da-silva-maroni-30746a144

 

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

  • 0
  • Alunos

Inclui uma alteração na medida Status Atual para não aparecer o ÚLTIMO STATUS NO TOTAL, através da função iniscope, abaixo segue a medida:

Status Atual =
VAR vDATA_ATUAL = MAX(fPlan1[Data])
RETURN
IF(
ISINSCOPE(dMaquinas[Maquina]);
CALCULATE(
VALUES(fPlan1[Status]);
FILTER(
ALL(
fPlan1);
fPlan1[Data] = vDATA_ATUAL
)
)
)

image.thumb.png.ad0e00520c7489b2c5299a942528f445.png

 

 

 

 

Caso alguma resposta tenha ajudado, você pode marcá-la como Solução e votar positivamente a resposta. Com isso o tópico será fechado, obrigado!

Atenciosamente,
Nelson Maroni

https://www.instagram.com/maroninc/

https://www.linkedin.com/in/nelson-carlos-da-silva-maroni-30746a144

 

 

 

 

13-06-2022.pbix 13-06-2022.xlsx

Editado por Nelson Maroni
Faltou inclui o PBI
  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Apesar de ser possível resolver com dax, como o @Nelson Maroni fez maestra mente , deixaria como sugestão revisar o modelo, para trazer no ETL já agrupado, poderia ser pelo power query mesmo, caso não utilize essa tabela em um nível mais baixo de informação em outro visual. reduzirá sua manutenção futuramente, como não possui métricas no exemplo, mais não sei a situação atual do projeto. 

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

  • 0
  • Alunos
4 horas atrás, CelsoEliezer disse:

Olá Marco Pereira,

Tente com Max para buscar a Data,   e  depois buscar o status a partir dela,  veja se atende ao seu propósito,  blz!

Status Ultima Ocorrência =
var VmaxData   =  MAX(fDataMov[Ddata])
RETURN          
                Calculate(
                          MAX(
                             fDataMov[Status])
                                              FILTER(
                                                  fDataMov, fDataMov[Data] = vMaxData)
                         )

Olá, @CelsoEliezer

Estava buscando neste fórum uma solução para um problema parecido com o que o Marco Pereira explicou, e aparentemente esta sua proposta resolverá meu problema (vou testar amanhã na base de dados real, mas funcionou em uma base simplificada).

No entanto, eu não entendi muito bem o porquê dela ter funcionado , em específico na parte destacada em amarelo (ainda estou me familiarizando com o DAX hehe). Acho que minha dúvida está em entender em como utilizar a função MAX em uma coluna que contém textos. Poderia por gentileza tentar explicar a utilização dessa função?

Obrigado!

Att,
Gustavo

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

  • 0
  • Alunos
13 horas atrás, CelsoEliezer disse:

Olá Marco Pereira,

Tente com Max para buscar a Data,   e  depois buscar o status a partir dela,  veja se atende ao seu propósito,  blz!

Status Ultima Ocorrência =
var VmaxData   =  MAX(fDataMov[Ddata])
RETURN          
                Calculate(
                          MAX(
                             fDataMov[Status]), 
                                              FILTER(
                                                  fDataMov, fDataMov[Data] = vMaxData)
                         )

@CelsoEliezer, muito obrigado!!! 
 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
13 horas atrás, Nelson Maroni disse:

Inclui uma alteração na medida Status Atual para não aparecer o ÚLTIMO STATUS NO TOTAL, através da função iniscope, abaixo segue a medida:

Status Atual =
VAR vDATA_ATUAL = MAX(fPlan1[Data])
RETURN
IF(
ISINSCOPE(dMaquinas[Maquina]);
CALCULATE(
VALUES(fPlan1[Status]);
FILTER(
ALL(
fPlan1);
fPlan1[Data] = vDATA_ATUAL
)
)
)

image.thumb.png.ad0e00520c7489b2c5299a942528f445.png

 

 

 

 

Caso alguma resposta tenha ajudado, você pode marcá-la como Solução e votar positivamente a resposta. Com isso o tópico será fechado, obrigado!

Atenciosamente,
Nelson Maroni

https://www.instagram.com/maroninc/

https://www.linkedin.com/in/nelson-carlos-da-silva-maroni-30746a144

 

 

 

 

13-06-2022.pbix 29 kB · 0 downloads 13-06-2022.xlsx 8 kB · 0 downloads

@Nelson Maroni, funciona, show de bola!!! Muito obrigado!

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...