Qlik Community

Brasil

Announcements
Submit your remarkable customer story for the Global Transformation Awards at QlikWorld Denver 2022. SUBMIT A STORY
cancel
Showing results for 
Search instead for 
Did you mean: 
paulokpk
Creator
Creator

Função Above em Datas

Bom dia a todos. 

Tenho uma tabela que mostra o Código de um chamado e todos os status que este chamado passou. 

Eu precisava gerar uma coluna na tabela onde ele calculasse o tempo em que o chamado ficou em cada status (acredito que teria que usar a função ABOVE para realizar esta tarefa. Mas não entendi como ela pode ser usada.

Depois que eu calcular esses tempos totais de cada chamado eu preciso exibir a soma de todos os tempos subtraindo o tempo em que o chamado ficou com o Status 'AGUARDANTO TERCEIROS' 

Não sei se no próprio ABOVE eu posso gerar um IF para que quando a coluna de status for Aguardando terceiros ele coloque o tempo a seguir como ZERO.

paulokpk_0-1632316234823.png

 

16 Replies
paulokpk
Creator
Creator
Author

usando o order by a coluna fica em branco

 

paulokpk_0-1632409080650.png

 

paulokpk
Creator
Creator
Author

a coluna ficou em branco, ele não calculou o tempo

tá estranho demais isso.

 

paulokpk_0-1632409248573.png

 

 

 

thiago_justen

Considere testar dessa forma:

 

StatusAtendimento:

LOAD

CODATENDIMENTO,
AutoNumberHash128(CODCOLIGADA,CODATENDIMENTO,CODLOCAL) AS %AtendimentoID,
CODSTATUS AS [Código do Status],
ApplyMap('MP_StatusAtendimento',CODSTATUS,NULL()) AS [Status],
DATA_STATUS AS [Data Status],
CODMOTIVOREP AS [Código Motivo de Repasse],
FROM [lib://QVDUnitech/rm_Atend_Status.QVD]
(qvd);

 

Left Join (StatusAtendimento)

Load

*,

If(Previous(CODATENDIMENTO)=CODATENDIMENTO and [Código do Status]<> Previous([Código do Status]),Interval([Data Status]- Previous([Data Status])), time(0) )  as Intervalo_Status

Resident StatusAtendimento Order By CODATENDIMENTO, [Data Status] desc;

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
paulokpk
Creator
Creator
Author

Fiz adicionando o campo CODATENDIMENTO. Ele me gerou uma chave sintética, e mesmo assim apresenta a coluna em branco como anteriormente. 

depois eu renomeei a coluna do CODATENDIMENTO para CODATENDMENTO_1 

para que não fosse gerada a chave sintética. mas mesmo assim a coluna INTERVALO_STATUS continua em branco

 

paulokpk_0-1632417392312.png

 

thiago_justen

Teste com esse script:

 

Spoiler

Temp:
LOAD * inline [
cod_atendimento, status, data status
226314,Agendado a responder,02/07/2021 21:40:22
226314,Em andamento,02/07/2021 21:41:07
226314,Aguardando terceiros,06/07/2021 15:59:41
226314,Em andamento,16/07/2021 13:18:00
226314,Concluído a responder,16/07/2021 13:18:21
];

Left Join(Temp)

Load
*,
If(Previous(cod_atendimento)=cod_atendimento,
Interval([data status]-Previous([data status]),'hh:mm:ss'),time(0)
) As Intervalo
Resident Temp order by [data status] asc;

O resultado aqui foi:

thiago_justen_0-1632418351345.png

 

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
paulokpk
Creator
Creator
Author

meu painel está bem estranho, acho que vai ser melhor eu fazer isso diretamente no sql. 

nessa consulta eu tenho o CODATENDIMENTO  |   STATUS  |   DATA_STATUS

Eu preciso criar uma DATA_FIM logo após a coluna da DATA_STATUS sendo que o 1º valor da DATA_FIM será o 2º valor da coluna DATA_STATUS  e assim sucessivamente

ou seja, o 2º registro da DATA_STATUS será o 1º da DATA_FIM

             o 3º registro da DATA_STATUS será o 2º da DATA_FIM

            o 4º registro da DATA_STATUS será o 3º da DATA_FIM...

 

saberia me dizer qual função eu posso usar no sql para ele me retornar esses valores? Me desculpe por tantas dúvidas, mas é que essa foi uma demanda que a diretoria me pediu e eu estou fatiando os problemas para resolver

thiago_justen

Com o script abaixo:

Captura de tela 2021-09-23 105517.png

Temos:

Captura de tela 2021-09-23 105517.png

 

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post