Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
joaopaulo_delco
Partner - Creator III
Partner - Creator III

Diferença minutos (DateTime)

Olá pessoal!

         Estou com a seguinte situação e gostaria de saber se alguém tem alguma dica para resolver.

Tenho o seguinte cenário onde preciso controlar se as ocorrências foram resolvidas dentro do prazo:

Tabela PosVendas.PNG

A coluna "Tempo Solução" é o tempo em quantidade de minutos limite para solução da ocorrência.

A coluna "Data_Abertura_Oc" é a data e hora da abertura da ocorrência.

A coluna "Data Solucao_Oc" é a data e hora da solução da ocorrência.

Preciso saber a quantidade de minutos que levou para solução da ocorrência considerando somente o horário comercial (08:00 as 18:00).

Imagino que não deva ter uma forma fácil de resolver esse problema. Mas se tiverem uma dica será bem vinda.

Desde já agradeço!

Help users find answers! Don't forget to mark a solution that worked for you!
Labels (2)
1 Solution

Accepted Solutions
Anonymous
Not applicable

Algumas modificações no código incial

NetWorkDays(Data_Abertura_Oc, Data_Solucao_Oc) * 600 -
(Hour('18:00:00' - Time(Data_Solucao_Oc) + Time(Data_Abertura_Oc) - '08:00:00')*60 +
Minute('18:00:00' - Time(Data_Solucao_Oc) + Time(Data_Abertura_Oc) - '08:00:00'))
as Tempo_Solucao,

View solution in original post

7 Replies
Anonymous
Not applicable

  

Olá Joao Paulo


Faça um teste com essa linha:

(((Interval(Date(Data_Solucao_Oc,'DD/MM/YYYY') – Date(Data_Abertura_Oc,'DD/MM/YYYY'),'D')+1) * 600) - 600) + Interval('18:00:00' - time(Time(Data_Solucao_Oc,'HH:MM:SS'), 'm') + Interval(Time(Data_Abertura_Oc,'HH:MM:SS' - '08:00:00'), 'm') as Tempo_Solucao


joaopaulo_delco
Partner - Creator III
Partner - Creator III
Author

Oi Donato!

    A fórmula não trouxe o resultado correto mas já me deu uma boa orientação para o caminho que devo seguir.

Estou quase chegando lá e assim que finalizar eu posto a fórmula que usei aqui.

Obrigado!

Help users find answers! Don't forget to mark a solution that worked for you!
Anonymous
Not applicable

Se o seu objetivo é não contar os finais de semana, ou seja somente os dias úteis, pode tentar assim:

((((NetWorkDays(Date(Data_Solucao_Oc,'DD/MM/YYYY'), Date(Data_Abertura_Oc,'DD/MM/YYYY')))+1) * 600) - 600) + Interval('18:00:00' - time(Time(Data_Solucao_Oc,'HH:MM:SS'), 'm') + Interval(Time(Data_Abertura_Oc,'HH:MM:SS' - '08:00:00'), 'm') as Tempo_Solucao

joaopaulo_delco
Partner - Creator III
Partner - Creator III
Author

Realmente preciso que seja considerado somente os dias uteis.

Usei a última formula mas não trouxe corretamente. Veja o print abaixo na última coluna:

Formula Donato.PNG

Help users find answers! Don't forget to mark a solution that worked for you!
Anonymous
Not applicable

Algumas modificações no código incial

NetWorkDays(Data_Abertura_Oc, Data_Solucao_Oc) * 600 -
(Hour('18:00:00' - Time(Data_Solucao_Oc) + Time(Data_Abertura_Oc) - '08:00:00')*60 +
Minute('18:00:00' - Time(Data_Solucao_Oc) + Time(Data_Abertura_Oc) - '08:00:00'))
as Tempo_Solucao,
joaopaulo_delco
Partner - Creator III
Partner - Creator III
Author

Muito obrigado donatohorn‌! Matou a pau!

Help users find answers! Don't forget to mark a solution that worked for you!
Anonymous
Not applicable

Ótimo, bons trabalhos com o Qlik, pode ter certeza que essa é uma ótima ferramenta de trabalho, podendo ajudar é só avisar. abraços