Ir para conteúdo
  • 0

Como fazer a diferença entre medidas de Horas da forma correcta


Ir para solução Solucionado por Thiago Abras Carneiro ,

Pergunta

  • Alunos
Postado

Bom dia Pessoal eu tenho uma dúvida que está a me tirar o cabelo: Tenho duas medidas e preciso do resultado da subtração delas de uma forma com que não retorna valores errados como por exemplo 04:55:-01, a primeira é

Actual Flight Time "HH:MM:SS" =

VAR vfltMinutos = [Actual Flight Time]

VAR vHoras = INT(vfltMinutos / 60)

VAR vMinutos = MOD(vfltMinutos; 60)

VAR vSegundos = ROUND((vfltMinutos - INT(vfltMinutos)) * 60; 0)

RETURN

FORMAT(vHoras; "00") & ":" & FORMAT(vMinutos; "00") & ":" & FORMAT(vSegundos; "00")

e a segunda é

Estimated Time Enroute "HH:MM:SS" =

var hora = int (sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc]))

var minuto = int((sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc])- hora) * 60)

var segundo = round(((sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc]) - hora) * 60 - minuto) * 60;0)

var HH = FORMAT(hora; "00")

var MM = FORMAT(minuto; "00")

var SS = FORMAT(segundo; "00")

return

VALUE(HH & MM & SS)

 

quero que me ajudem a criar uma medida capaz de fazer a diferença entre essas duas medidas que retornam hh:mm:ss de forma correcta e não com erros de números negativos, por favor!

na primeira linha seria igual a 0, na segunda linha seria 00:06:00, assim sucessivamente... e se for uma hora negativa que tenha uma um formato adequado para assim o identificar.

image.png.ce8acaded6a20fa32e3e422176b592d9.png

 

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
Postado (editado)

Converte ambas para segundos, por exemplo e depois de fazer a conta de subtraí-las (lembrando de tirar o absoluto da conta para evitar números negativos com a função ABS()) e no final vc faz a conversão para a formatação que vc precisa. Vai ser bem mais fácil. 

Editado por Thiago Abras Carneiro
  • 0
  • Alunos
Postado (editado)

As duas colunas de tempo que estão na tabela, estão no formato de minuto, correto? Se sim, vc pode fazer a subtração entre as duas colunas, ainda em minutos (lembrando de usar a função ABS() para retornar apenas os valores postivos, por ex:

Diferenca = ABS( SUM(Actual Flight Time) - sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc]) ) 

e posteriormente aplicar a formatação de hora, minuto e segundo

Se não for o caso, coloque um print da tela / excel / .pbix para ver como está a estrutura dos dados.

 

5 horas atrás, Denilson Piedade disse:

Bom dia Pessoal eu tenho uma dúvida que está a me tirar o cabelo: Tenho duas medidas e preciso do resultado da subtração delas de uma forma com que não retorna valores errados como por exemplo 04:55:-01, a primeira é

Actual Flight Time "HH:MM:SS" =

VAR vfltMinutos = [Actual Flight Time]

VAR vHoras = INT(vfltMinutos / 60)

VAR vMinutos = MOD(vfltMinutos; 60)

VAR vSegundos = ROUND((vfltMinutos - INT(vfltMinutos)) * 60; 0)

RETURN

FORMAT(vHoras; "00") & ":" & FORMAT(vMinutos; "00") & ":" & FORMAT(vSegundos; "00")

e a segunda é

Estimated Time Enroute "HH:MM:SS" =

var hora = int (sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc]))

var minuto = int((sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc])- hora) * 60)

var segundo = round(((sum('GENERIC REPORT (RESULT OF FLIGHT SEARCH)'[Ete T.Dc]) - hora) * 60 - minuto) * 60;0)

var HH = FORMAT(hora; "00")

var MM = FORMAT(minuto; "00")

var SS = FORMAT(segundo; "00")

return

VALUE(HH & MM & SS)

 

quero que me ajudem a criar uma medida capaz de fazer a diferença entre essas duas medidas que retornam hh:mm:ss de forma correcta e não com erros de números negativos, por favor!

na primeira linha seria igual a 0, na segunda linha seria 00:06:00, assim sucessivamente... e se for uma hora negativa que tenha uma um formato adequado para assim o identificar.

image.png.ce8acaded6a20fa32e3e422176b592d9.png

 

 

Editado por Thiago Abras Carneiro

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...