Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
joao_sp_campina
Creator II
Creator II

Criar colunas HI (hora início) e HF (hora fim) via script

Bom dia Pessoal, tudo bom?

Estou com uma dúvida que está quebrando um pouco minha cabeça.

Tenho um arquivo txt que registra o histórico diário de alteração na Rotação de uma moenda de uma usina.

Veja o exemplo da tabela que registra as alterações de rotações:

   

DataRotaçãoHora
13/9/2016550003:52:02
13/9/2016525003:54:04
14/9/2016450006:39:40
14/9/2016580006:53:45
14/9/2016500006:53:56
14/9/2016525006:55:20
13/9/2016510009:51:46
13/9/2016525009:52:05
13/9/2016450010:31:08
13/9/2016440010:32:33
13/9/2016400010:33:03
13/9/2016420010:39:08
13/9/2016400010:42:02
13/9/2016450010:48:54
13/9/2016480010:50:04
13/9/2016525010:51:21
13/9/2016520011:49:34
13/9/2016525012:00:17
13/9/2016420018:43:47
13/9/2016525018:53:03
13/9/2016420022:02:54
13/9/2016525022:11:32

Preciso criar as colunas HI (Hora Inicio)  e HF (Hora Fim) de cada Rotação no script de carga de acordo com a mudança de valores na tabela.


Exemplo:


No dia 13/09 a Rotação 5500 iniciou-se em 03:52:02 -> Este valor seria HI (Hora Inicial). Às  03:54:04 alterou-se a Rotação para 5250.

Ou seja, 03:54:04 é o valor da HF (Hora final) da Rotação 5500. E também é o valor da HI (Hora Inicial) da Rotação 5250.

Deve ficar assim a tabela:

     

DataRotação          Hora       HIHF
13/9/2016550003:52:0203:52:0203:54:04
13/9/2016525003:54:0403:54:0406:39:40

   Alguém pode me ajudar como conseguir criar estas colunas via script? Desde já agradeço a atenção de todos.

Obrigado,

João Carlos Ferreira                                                     

1 Solution

Accepted Solutions
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo;

Segue exemplo com seus dados como amostra;

Tab_Temp:

Load * Inline [

  Data Rotação Hora

  13/9/2016 5500 03:52:02

  13/9/2016 5250 03:54:04

  14/9/2016 4500 06:39:40

  14/9/2016 5800 06:53:45

  14/9/2016 5000 06:53:56

  14/9/2016 5250 06:55:20

  13/9/2016 5100 09:51:46

  13/9/2016 5250 09:52:05

  13/9/2016 4500 10:31:08

  13/9/2016 4400 10:32:33

  13/9/2016 4000 10:33:03

  13/9/2016 4200 10:39:08

  13/9/2016 4000 10:42:02

  13/9/2016 4500 10:48:54

  13/9/2016 4800 10:50:04

  13/9/2016 5250 10:51:21

  13/9/2016 5200 11:49:34

  13/9/2016 5250 12:00:17

  13/9/2016 4200 18:43:47

  13/9/2016 5250 18:53:03

  13/9/2016 4200 22:02:54

  13/9/2016 5250 22:11:32

](delimiter Is ' ');

Tabela:

Load

  Data,

  Rotação,

  Hora,

  Hora As 'HI',

  Previous(Hora) As 'NF'

Resident Tab_Temp

Order By Hora Desc;

Drop Table Tab_Temp;

O resultado será o mesmo do anunciado, porém creio que seja mais lógico ordenar por Data também;

Order by Data, Hora Desc;

Pois assim a hora da rotação referente aos dias... Não irão se misturar.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti

View solution in original post

4 Replies
mauroponte
Creator II
Creator II

Joao,

Tente o seguinte:

Load

     Data,

     Rotação,

     Hora                    as HI,

     Previous(Hora)     as HF

from Rotações.txt;

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo;

Segue exemplo com seus dados como amostra;

Tab_Temp:

Load * Inline [

  Data Rotação Hora

  13/9/2016 5500 03:52:02

  13/9/2016 5250 03:54:04

  14/9/2016 4500 06:39:40

  14/9/2016 5800 06:53:45

  14/9/2016 5000 06:53:56

  14/9/2016 5250 06:55:20

  13/9/2016 5100 09:51:46

  13/9/2016 5250 09:52:05

  13/9/2016 4500 10:31:08

  13/9/2016 4400 10:32:33

  13/9/2016 4000 10:33:03

  13/9/2016 4200 10:39:08

  13/9/2016 4000 10:42:02

  13/9/2016 4500 10:48:54

  13/9/2016 4800 10:50:04

  13/9/2016 5250 10:51:21

  13/9/2016 5200 11:49:34

  13/9/2016 5250 12:00:17

  13/9/2016 4200 18:43:47

  13/9/2016 5250 18:53:03

  13/9/2016 4200 22:02:54

  13/9/2016 5250 22:11:32

](delimiter Is ' ');

Tabela:

Load

  Data,

  Rotação,

  Hora,

  Hora As 'HI',

  Previous(Hora) As 'NF'

Resident Tab_Temp

Order By Hora Desc;

Drop Table Tab_Temp;

O resultado será o mesmo do anunciado, porém creio que seja mais lógico ordenar por Data também;

Order by Data, Hora Desc;

Pois assim a hora da rotação referente aos dias... Não irão se misturar.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
joao_sp_campina
Creator II
Creator II
Author

Muito bom Mario,

Funcionou perfeitamente.

Muito Obrigado.

João Carlos Ferreira

mmisfeldt
Contributor II
Contributor II

João,

Bom dia.

Você  conseguirá da seguinte  forma:

HoraIni_Fin.JPG

Espero que isso lhe ajude.