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

ler e editar dados de uma tabela dento de um loop é possivel??

Boa tarde a todos, tenho uma duvida e pesquisei muito mas até agora não achei nada que me ajuda-se.

Eu gostaria de saber sé dentro do script de carga é possível utilizar de dados de tabelas diferentes para criar uma nova. 

Meu problema é o seguinte, eu tenho uma tabela que carrega a disponibilidade total de um grupo de maquinas, porem durante as manutenções está disponibilidade não é computada e esta gerando erro nos gráficos de disponibilidade.

Eu gostaria de percorrer os campos da tabela durante a carga e adicionar este tempo de disponibilidade que esta registrado em outra tabela. 

Meu problema está no intervalo quando uma manutenção dura mais de dois dias, só é gerado o registro do dia que iniciou e do dia que terminou, eu precisaria percorrer os dados e adicionar este registro durante o carregamento.

segue meu script:

PreventivasExtradayDatas:

LOAD
RecNo() as KeyTime,
CodObjeto as CodMaqManutExtra,
CodOrdClb as CodOSExtra,
CodTipTrb as CodTipoManutencaoExtra,
Date(DatIniClb,'yyyy-MM-dd') as DataInicioExtra,
Date(DatFimClb,'yyyy-MM-dd') as DataFimExtra,
(DayNumberOfYear(DatFimClb) - DayNumberOfYear(DatIniClb)) as intervalo;


//date(dataDispo,'yyyy-MM-dd')
SQL SELECT CodObjeto,
CodOrdClb,
CodTipTrb,
DatFimClb,
DatIniClb
FROM Calibra
where not IsNull(Calibra.CodOrdClb)
And (Left(CodTipTrb,2)='A1' or Left(CodTipTrb,2)='A2')
or (Left(CodTipTrb,2)='C1' or Left(CodTipTrb,2)='B2')
And Left(DatIniClb,10)<>Left(DatFimClb,10)

Let linhas_tabela = NoOfRows('PreventivasExtradayDatas');

tempoCalculado:

LOAD
RecNo() as KeyTime,
0 as tempo
AUTOGENERATE($(linhas_tabela));

"AQUI ESTA MINHA DUVIDA"

FOR contador = 0 to $(linhas_tabela)
IF (PreventivasExtradayDatas.intervalo>1)Then

     É POSSIVEL TESTAR ESTA INFORMAÇÃO AQUI? PreventivasExtradayDatas.intervalo

    SENDO, É POSSIVEL SETAR o valor de um campo de uma tabela dentro de um campo de outra
     tempoCalculado.tempo = disponibilidade.tempo
ENDIF
NEXT contador

Labels (1)
0 Replies