Ir para conteúdo
  • 0

Soma única de horas diárias.


Ir para solução Solucionado por Jonatan Souza ,

Pergunta

  • Alunos
Postado (editado)

Boa noite pessoal.
Preciso criar uma medida que me retorne a soma de horas de avaria (já em segundos) diaria.

O detalhe é que a soma NÂO pode ser realizada entre períodos no mesmo dia, ou seja, se tenho uma avaria no dia 25/01/2024 às: 22:43:04 e ela durou 1:40, não posso somar outra avaria enquanto essa não sair.

Abaixo vemos que praticamente no mesmo instante acontece 3 avarias e são somadas as horas dela, o que NÃO quero
image.png.0de1f223d60b74cdcc94e3c42620d1d7.png

 

Da forma que está tenho 32:04:55 só de avarias, contudo no final do dia a conta tem que fechar em 24:00:00h tendo porção entre parada e operando.
image.png.6333b375fb77d20ea05b060ccd75f81b.png

 

Media que estou usando:

Horas Parada h00 =
var vTotal = [Duracao Avaria Segundos]
var vHoras = INT(vTotal / 3600)
var vMinutosSobra = MOD(vTotal, 3600)
var vMinutos = INT(vMinutosSobra / 60)
var vSegundos = MOD(vMinutosSobra, 60)
var vHoraMinutoSegundo = vHoras * 10000 + vMinutos * 100 + vSegundos  //00:00:00
RETURN vHoraMinutoSegundo

 

Agradeço a todos pela atenção 


 

Editado por Jonatan Souza

6 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
Postado

Exemplo do cenário:

1º É feito um cálculo de duração da avaria (coluna J) e com isso um filtro para as avarias >= 5 minutos.
2º Filtro aplicado para Data de Criação em 05/03/24;

Agora preciso do mais importante:
Só posso calcular a duração da avaria se a Data Fim for <= a PRÓXIMA Data de Criação, ou seja, se em 05/03 às 00:00:00 houve uma avaria e ela durou 15 minutos 00:15:00, então não posso computar uma avaria que ocorreu às 00:10:00. Posso somente após esses 15 minutos.


image.png.15436e5291944d59b572ee1961890594.png


Vejam que no Excel, eu tenho 4:59:22 de avaria, o que está certo de acordo com os filtros.
image.png.624a3ec34ee35436b3439eb8055187b6.png

Já no PBI eu tenho 9.354 horas, está errado:
image.png.18fdd23b76ead4efa59333c86b43b64f.png

Medida DAX:

Tempo Total Avarias =
CALCULATE(
SUMX(
    FILTER(
        fTask_Fail,
        fTask_Fail[Segundos Avaria] >= 300 &&
        fTask_Fail[Hora Fim Avaria]  <=  fTask_Fail[Hora Inicio Avaria]
    ),
    fTask_Fail[Segundos Avaria] 
    )
)

 

Fico grato desde já pelo apoio dos companheiros.

  • 0
  • Alunos
Postado

Talvez vc deva ajustar sua medida para somar o menor horário da coluna "Hora Inicio Avaria" com o maior horário da coluna "Hora Fim Avaria". Aonde vc deverá considerar/Filtrar pelo "Item Avariado" e a Data.
Considere a sugestão do Tiago em anexar o arquivo com um exemplo dos dados onde consigamos identificar toda estrutura da tabela e assim poder entender e quem sabe ajudar resolução da medida!

  • 0
  • Alunos
Postado
5 horas atrás, Tiago Craici - Xperiun disse:

Olá @Jonatan Souza
Se possível anexe um arquivo pbix mesmo que os dados sejam fictícios... Outro detalhe como que diferencia uma avaria da outra? Tem algum ID ou algo perecido?

Sim todas as avarias contém seu ID

  • 0
  • Alunos
Postado

Boa noite incomparáveis.

Encontrei a medida abaixo, mas tenho dúvidas se está certo

 

Tempo Total Avarias =
SUMX(
    VALUES(fTask_Fail[Segundos Avaria]),
    CALCULATE(
        SUM(fTask_Fail[Hora Fim Avaria])
    )
)

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...