Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
tiagopazeto
New Contributor III

loop (for) com left join em outro loop (for)

Olá Pessoal, boa tarde!

Estou com a seguinte situação.

Possuo um QVD com os dados da capa do lote onde chamo de GUIA, período de 2011 a 2017. Já os itens do lote (EVENTOS) estão carregados em QVDs separados por ano. Por ser muito pesado, minha idéia foi criar um loop para gerar um QVD por ano com os dados consolidados de ambos os QVDs, porém, o ID da GUIA por estar em 1 ou ‘n’ QVDs de EVENTOS.

Problema, o novo qvd gerado está gravando apenas os eventos do primeiro qvd lido, desprezando os demais anos.

Montei um exemplo a partir de inline para auxiliar na explicação. Deixei também a aba onde contém a regra original.

Agradeço a atenção.

Obrigado.

Tiago

Tags (1)
1 Solution

Accepted Solutions
MVP
MVP

Re: loop (for) com left join em outro loop (for)

Tiago,

quando usa o left join com leitura como voce esta fazendo ou usando um * ele sempre vai fazer para o primeiro arquivo.

Melhor seria mudar

GERAL:

LOAD ID,

SITUACAO

FROM GUIA.QVD(qvd)

;

  FOR vAno2 = '1' TO '2' //loop irá passar pelos anos desejados

//LEFT JOIN (GERAL)

Tmp:

LOAD ID_EVENTO,

ID,

TIPO,

VALOR

FROM EVENTO$(vAno2).QVD(qvd)

;

next vAno2

LEFT JOIN (GERAL)

LOAD * Resident Tmp;

DROP Table Tmp;

4 Replies
MVP
MVP

Re: loop (for) com left join em outro loop (for)

Tiago,

quando usa o left join com leitura como voce esta fazendo ou usando um * ele sempre vai fazer para o primeiro arquivo.

Melhor seria mudar

GERAL:

LOAD ID,

SITUACAO

FROM GUIA.QVD(qvd)

;

  FOR vAno2 = '1' TO '2' //loop irá passar pelos anos desejados

//LEFT JOIN (GERAL)

Tmp:

LOAD ID_EVENTO,

ID,

TIPO,

VALOR

FROM EVENTO$(vAno2).QVD(qvd)

;

next vAno2

LEFT JOIN (GERAL)

LOAD * Resident Tmp;

DROP Table Tmp;

MVP
MVP

Re: loop (for) com left join em outro loop (for)

2017-10-31 17_33_41-QlikView x64 - [C__tmp_Teste - comunidade.qvw].png

tiagopazeto
New Contributor III

Re: loop (for) com left join em outro loop (for)

Oi Alessandro,

Obrigado pela rápida resposta, vou testar com a carga total e te aviso.

Abraços.
Tiago.

tiagopazeto
New Contributor III

Re: loop (for) com left join em outro loop (for)

Oi Alessandro, Deu certo com a carga completa.

Obrigado.