Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá a todos! Tudo bem?
Estou com duas dificuldades no Qlik Sense.
Até o momento eu venho utilizando uma coluna do meu banco de dados que tem as horas dos chamado executados no service desk. Esta coluna contém as horas desta forma:
0,02
0,47
Etc..
Eu faço a divisão deste número por 24, e altero o formato numérico para "Duração" desta forma tenho em horas:
0:01
0:28
Entretanto agora preciso buscar e transformar para horas uma coluna do banco que me da a hora como se fosse por texto. Por exemplo, o chamado foi aberto as 10:30:10 da manhã e o primeiro atendimento as 11:05:10 da manhã. No banco tenho estas colunas com os seguintes dados chamado aberto em 103010 e o primeiro atendimento em 110510
O que eu precisaria era transformar estes números em horas para que eu pudesse criar KPIs que me dessem a diferença entre estes horários, para medir SLA.
A segunda questão é calcular SLA somente dentro do horário comercial.
A ideia posterior, e pegar o resultado destes dois valores, Hora de abertura e hora do primeiro atendimento e monitorar o tempo que demoramos para atender, caso se aproxime de do limite mude para outra cor. Entretanto, caso o cliente abre um chamado as 18 horas da tarde, não posso considerar as horas das 18:01 até as 08:00 da manhã do outro dia. Existe uma forma de estabelecer este tipo de relação?
Bom, pessoal, de antemão agradeço a todos que colaborarem!
Grande abraço.
Filipe, você pode tratar, no script, a sua coluna de tempo com a função Time, por exemplo:
Tabela:
LOAD
CAMPO,
Time(Time#(CAMPO, 'hhmmss'), 'hh:mm:ss') as TEMPO
INLINE [
CAMPO
135645
074000
080000
];
Sobre o cálculo de tempo de SLA, tenho um post que explica o passo a passo, veja aqui: https://community.qlik.com/groups/qlikview-brasil/blog/2015/06/11/c%C3%A1lculo-de-tempo-%C3%BAtil-de...
Filipe, você pode tratar, no script, a sua coluna de tempo com a função Time, por exemplo:
Tabela:
LOAD
CAMPO,
Time(Time#(CAMPO, 'hhmmss'), 'hh:mm:ss') as TEMPO
INLINE [
CAMPO
135645
074000
080000
];
Sobre o cálculo de tempo de SLA, tenho um post que explica o passo a passo, veja aqui: https://community.qlik.com/groups/qlikview-brasil/blog/2015/06/11/c%C3%A1lculo-de-tempo-%C3%BAtil-de...
Hi
Try this for calculating different hours as a Day (eg : 8 AM to 8PM) or (9 AM To 9PM)
https://community.qlik.com/thread/231791?sr=inbox&ru=71132%20-%201119202
Yuri, o link não está funcionando... Vc tem em algum outro lugar esta informação?
Quanto a função era exatamente isto... era esta função que eu precisava... Muito obrigado.
Tenho no meu blog, veja por este link: https://blogdonicolett.com.br/2015/06/11/calculo-de-tempo-util-de-atendimento-sla/
Yuri, bom dia!
Muito obrigado pela ajuda!
Uma dúvida, o script só funciona se a coluna contiver data e hora juntos?
No meu caso, a coluna de data é separada da coluna de hora... funciona tbm?
Filipe, sim. Você deverá juntar essas colunas
Yuri, bha.. então é possível unir dados de colunas diferentes em uma mesma coluna?
Até então, eu apenas tinha utilizado o "Join" para criar colunas novas.. não sabia que poderia unir colunas. Yuri, talvez então minha tarefa fique então mais fácil.. talvez eu nem precise calcular.
Atualmente meu sistema ERP tem as data já estabelecidas, ou seja, a SLA já é apontada dentro do sistema. Ele em função da data e hora de abertura do chamado, calcula a data máxima prevista para atendimento levando em conta a SLA de 8 horas, contanto apenas horário comercial. Ou seja, ele só considera, das 8:00 ás 12:00 e das 13:00 ás 18:00 Ex: Na tabela de abertura de chamado eu tenho:
Numero_OS | Data_Abertura | Hora_Abertura | Data_Prevista_Maximo_de_Inicio | Hora_Prevista_Maxima_de_Inicio |
---|---|---|---|---|
100 | 26/09/2016 00:00:00 | 163000 | 27/09/2016 00:00:00 | 153000 |
105 | 27/09/2016 00:00:00 | 080054 | 27/09/2016 00:00:00 | 170054 |
Na tabela de atividades dos chamados eu tenho
Numero_OS | Data_Inicio_Chamado | Hora_Inicio_Chamado |
---|---|---|
100 | 26/09/2016 00:00:00 | 174500 |
105 | 28/09/2016 00:00:00 | 085000 |
Agora, Yuri, se existe a possibilidade de juntar as colunas, eu poderia fazer algo para ficar conforma abaixo e criar uma regra para ficar em vermelho chamados que passaram do tempo previsto, e consequentemente foram atendidos fora da SLA?
Numero_OS | Data_Abertura | Data_Prevista_Maximo_de_Inicio |
---|---|---|
100 | 26/09/2016 16:30:00 | 27/09/2016 15:30:00 |
105 | 27/09/2016 08:00:54 | 27/09/2016 17:00:54 |
Numero_OS | Data_Inicio_Chamado |
---|---|
100 | 26/09/2016 17:45:00 |
105 | 28/09/2016 08:50:00 |
Filipe, sim. Você pode fazer da seguinte maneira:
Date(Floor(Data_Abertura) + Time(Time#(Hora_Abertura, 'hhmmss')), 'DD/MM/YYYY hh:mm:ss') as Data_Hora_Abertura
Exemplo com sua tabela:
LOAD
*,
Date(Floor(Data_Abertura) + Time(Time#(Hora_Abertura, 'hhmmss')), 'DD/MM/YYYY hh:mm:ss') as Data_Hora_Abertura
INLINE [
Numero_OS, Data_Abertura, Hora_Abertura, Data_Prevista_Maximo_de_Inicio, Hora_Prevista_Maxima_de_Inicio
100, 26/09/2016 00:00:00, 163000, 27/09/2016 00:00:00, 153000
105, 27/09/2016 00:00:00, 080054, 27/09/2016 00:00:00, 170054
];
Perfeito Yuri.. eu não sabia que existia esta função. Deu certo