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

Exibir faixa de horas (Hora inicio, Hora fim) Rotação

Boa tarde Pessoal,

Tenho um arquivo pra ser carregado que registra a  variação de Rotação por hora de uma máquina por dia. O arquivo registra HI (Hora Inicio) e HF (Hora fim) de uma determinada Rotação. Ou seja, registra os momentos de troca de Rotações.

Seguem anexos o qvw com os dados e os arquivos de teste auxiliares.

   

Preciso exibir esta tabela com as informações com as faixas de horas completas.

Veja a tabela com os exemplos de Rotações 5250, 5100, 4500. Os valores em vermelho destacam o inicio de uma Rotação e o termino da mesma. Os valores destacados em azul são os que devem complementar a visão desta tabela. Eu preciso exibir na tabela as informações destacadas em azul. Assim consigo criar as faixas de horas completas como na coluna Faixa.

Veja o print da tabela:

Alguém consegue me ajudar?

Bom domingo a todos! Desde já agradeço!

1 Solution

Accepted Solutions
pablolabbe
Luminary Alumni
Luminary Alumni

Oi João,

Sua dúvida foi um bom exercicio para uso das funções WHILE + ITERNO() para criar linhas adicionais, então resolvi desenvolver a solução. Segue o LOAD:

Load

     if(Inicio > floor(Inicio*24)/24 + (1/24*(iterno()-1)), Inicio, time(floor(Inicio*24)/24+ (1/24*(iterno()-1)))) as Inicio,

     if(Fim < Ceil(Inicio*24)/24 +(1/24*(iterno()-1)), Fim, time(Ceil(Inicio*24)/24+ (1/24*(iterno()-1)))) as Fim

while Fim > floor(Inicio*24)/24 + (1/24*(iterno()-1))

;

load * inline [

Inicio , Fim

10:20:00, 13:10:00

];

View solution in original post

4 Replies
pablolabbe
Luminary Alumni
Luminary Alumni

Oi João,

Sua dúvida foi um bom exercicio para uso das funções WHILE + ITERNO() para criar linhas adicionais, então resolvi desenvolver a solução. Segue o LOAD:

Load

     if(Inicio > floor(Inicio*24)/24 + (1/24*(iterno()-1)), Inicio, time(floor(Inicio*24)/24+ (1/24*(iterno()-1)))) as Inicio,

     if(Fim < Ceil(Inicio*24)/24 +(1/24*(iterno()-1)), Fim, time(Ceil(Inicio*24)/24+ (1/24*(iterno()-1)))) as Fim

while Fim > floor(Inicio*24)/24 + (1/24*(iterno()-1))

;

load * inline [

Inicio , Fim

10:20:00, 13:10:00

];

joao_sp_campina
Creator II
Creator II
Author

Boa noite Pablo!

Funcionou perfeitamente para minha solução.

Muito Obrigado!

João Carlos Ferreira

Clever_Anjos
Employee
Employee

Veja se atende

joao_sp_campina
Creator II
Creator II
Author

Boa noite Clever,

Perfeito! Outra solução que também atende.

Obrigado pela ajuda.

Boa noite

João Carlos Ferreira