Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
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 |
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:
Data | Rotação | Hora | HI | HF |
13/9/2016 | 5500 | 03:52:02 | 03:52:02 | 03:54:04 |
13/9/2016 | 5250 | 03:54:04 | 03:54:04 | 06: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
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.
Joao,
Tente o seguinte:
Load
Data,
Rotação,
Hora as HI,
Previous(Hora) as HF
from Rotações.txt;
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.
Muito bom Mario,
Funcionou perfeitamente.
Muito Obrigado.
João Carlos Ferreira
João,
Bom dia.
Você conseguirá da seguinte forma:
Espero que isso lhe ajude.