Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
jamirjunior
Creator
Creator

Gerar tabela em cubo

Boa tarde,

Tenho uma tabela com os campos:

data_inicial, hora_inicial,data_final, hora_final

Gostaria de gerar uma tabela de horas. Exemplo:

Um evento ocorreu:

data_inicial=09/10/2017

hora_inicial=08:35

data_final  =09/10/2017

hora_final=10:05

tabela gerada deveria sair com estas colunas e seus respectivos valores:

data=09/10/2017

qtd01=0

qtd02=0

qtd03=0

qtd04=0

qtd05=0

qtd06=0

qtd07=0

qtd08=0

qtd09=1

qtd10=1

qtd11=0

qtd12=0

qtd13=0

qtd14=0

qtd15=0

qtd16=0

qtd17=0

qtd18=0

qtd19=0

qtd20=0

qtd21=0

qtd22=0

qtd23=0

qtd00=0

O problema é que a data final pode ser em outro dia, então teria uma linha para cada data do evento.

Uma iteração para saber qtos dias serão gerados (data_final - data_inicial) + 1

E outra iteração das 24 horas.

Como gerar uma tabela assim?

Muito obrigado.

1 Solution

Accepted Solutions
jamirjunior
Creator
Creator
Author

Resolvemos fazer no banco de dados, que já gera a tabela para o qlik ler.

View solution in original post

3 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

para gerar registros de um registro em tempo de carga, que atende o que você precisa.

while e iterno()

furtado@farolbi.com.br
jamirjunior
Creator
Creator
Author

O que está errado?

GeraData:

LOAD NUMR_ATENDIMENTO,

     IterNo() ,

     date(data_inicial+IterNo(),'DD/MM/YYYY') as data_inicial,

     hora_inicial,

     data_final,

     hora_final,

     pick(IterNo(),data_inicial+IterNo()-1) as dataaaa

FROM temporaria.qvd(qvd)

     while isNum(mid(repeticao,IterNo(),1));

Esse campo repetição já foi calculado. por exemplo:

data inicial 09 e final 09 => repeticao = 0

data inicial 09 e final 10 => repeticao = 1

jamirjunior
Creator
Creator
Author

Resolvemos fazer no banco de dados, que já gera a tabela para o qlik ler.