Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Duvida sobre Calculo de SLA

Ola a todos,

estou com o seguinte problema, preciso calcular o tempo de atendimento de cada solicitação aberta, mas preciso apresentar isso em numero de horas (e/ou minutos), independente se houve mudança de dias. Segue os dados que tenho para realizar o calculo:

Data/hora da abertura da solicitação, (campo timestamp)

Data/hora da conclusão da solicitação (campo timestamp)

horário de inicio de atendimento (campo time)

horário de fim de atendimento (campo time)


Exemplo:


Data/hora abertura - 07/05/2015 11:01:00

Data/hora conclusão - 13/05/2015 11:47:00

horário início de atendimento: 8:30

horário fim de atendimento: 18:30

Apenas dias de semana

Preciso saber o tempo em horas e minutos da abertura da solicitação a conclusão, só que contando apenas o horário de atendimento (das 8:30 as 18:30) e se não posso contar também feriados.

ou seja, no caso de exemplo deveria dar 40h 46m de atendimento.

É possível resolver esse problema sem mexer no script?

Agradeço a ajuda.

Tags (1)
15 Replies

Re: Duvida sobre Calculo de SLA

Daniel, faça o cálculo utilizando a funçao Interval.

Exemplo: Interval(DataFim-DataInicio, 'hh:mm')

Not applicable

Re: Duvida sobre Calculo de SLA

eu tentei fazer isso Yuri, de algumas formas até, mas ele em retorna o tempo como se fosse de um dia pro outro, e não considerando todos os dias.

Re: Duvida sobre Calculo de SLA

Então você precisa calcular a hora útil em relação a essa abertura, correto?

O QlikView não possui nenhuma função para isso, você vai ter que fazer na marra (ifs).

Eu tenho um exemplo antigo que fiz isso, mas preciso encontrar

Not applicable

Re: Duvida sobre Calculo de SLA

eu consegui chegar ao calculo de horas levando em conta o horário de inicio e o de fim de atendimento:

time(interval(time((interval('18:30' - time(SLA_inicio,'ddmmyyy hh:mm'))))) -

(time(interval('8:30' - time(SLA_conclusao,'ddmmyyy hh:mm:ss')))), 'hh:mm')

mas não consegui resolver o problema da passagem de dias.

tentei fazer de outra forma, contando o numero de dias decorrido e multiplicando pelo numero de horas de atendimento no dia (no caso 10h), mas na hora de converter para somar as outras horas eu não consegui também.

(day(SLA_conclusao) - day(SLA_Sinicio))*10

aqui chego ao valor de 40, mas não consigo converter corretamente em horas para somar a expressão anterior, quando eu converto ele me retorna 16h00 ao invés de 40h00.

Re: Duvida sobre Calculo de SLA

Daniel, já encontrei o meu código.

Irei fazer um post de blog sobre o assunto e disponibilizo aqui para você.

Not applicable

Re: Duvida sobre Calculo de SLA

Que ótimo Yuri! Muito obrigado pela atenção e fico no aguardo do post então

Re: Duvida sobre Calculo de SLA

É um código bem antigo, não deve estar seguindo as melhores práticas, mas quem sabe eu não aproveito o momento para melhora-lo. De qualquer maneira irei postar exatamente o que tenho

Not applicable

Re: Duvida sobre Calculo de SLA

de qualquer forma vou deixar aqui o progresso que tive.

consegui chegar a visualizar o tempo entre um e outro em horas, o que era o meu primeiro problema. E foi relativamente simples:

interval(time(SLA.dt_realizado, 'dd/mm/yyyy') - time(SLA.dt_inicio, 'dd/mm/yyyy'))

agora meu problema esta em encaixar a parametrização de horário de começo e fim de expediente e tirar os dias de fim de semana.

Re: Duvida sobre Calculo de SLA

Daniel, já escrevi o Post e irei publica-lo amanha.

Assim que publicar coloco o link aqui para você