Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
pedroivo
Creator
Creator

Comparar e retornar dados de outro qvd

Olá comunidade,

gostaria se possível sugestões de desenvolvimento para o seguinte cenário:

Tenho um QVD-1 com a seguinte estrututura:

MATRICULA; SENHA; DATA_INTERNACAO; DATA_ALTA

E tenho outro QVD-2 com uma quantidade bem considerável de registros, abaixo alguns campos desse QVD:

MATRICULA; CODIGO; DATA_EVENTO.

O que eu gostaria de fazer é o seguinte:

Para cada linha em QVD-2 verificar se a MATRICULA existe em QVD-1 e depois verificar se a DATA_EVENTO esta contida entre DATA_INTERNACAO e DATA_ALTA.

Se minha condição for atendida vou criar um novo campo em QVD-2 com o numero da senha de QVD-1, caso contrátio vou deixar em branco.

16 Replies
PabloTrevisan
Partner - Creator II
Partner - Creator II

Segue o script... so cria uma aplicação e cola..

mapeamento:

mapping load

matricula,

    senha

FROM [lib://doc/qvd-1.xlsx]

(ooxml, embedded labels, table is Planilha1);

qvd1: /*ler dados qvd-1*/

LOAD

    matricula,

    data_internacao,

    data_alta,

    senha

FROM [lib://doc/qvd-1.xlsx]

(ooxml, embedded labels, table is Planilha1);

qvd2_tmp: /*ler dados qvd-2 onde existe matricula no qvd-1*/

LOAD

    matricula,

    codigo,

    data_evento

FROM [lib://doc/qvd-2.xlsx]

(ooxml, embedded labels, table is Planilha1)

where Exists(matricula);

drop table qvd1;/*elimina da memória a tabela qvd-1*/

qvd2:/*carrega na memória qvd2 e faz join com qvd-1 para puxar as datas*/

noconcatenate LOAD *

resident qvd2_tmp;

left join(qvd2)

load *

FROM [lib://doc/qvd-1.xlsx]

(ooxml, embedded labels, table is Planilha1);

drop table qvd2_tmp;//tira da memória a tabela qvd-2 temporaria

tabfinal:/*tabela final aplicando a regra*/

LOAD matricula,

codigo,

    IF(data_evento >= data_internacao and data_evento <= data_alta,

    APPLYMAP('mapeamento',matricula),'Sem Senha') AS senhafinal

resident qvd2;

drop table qvd2;

pedroivo
Creator
Creator
Author

Show! Vou testar.

PabloTrevisan
Partner - Creator II
Partner - Creator II

Beleza, aguardo.

PabloTrevisan
Partner - Creator II
Partner - Creator II

Funcionou ? Precisa de mais alguma ajuda?

pedroivo
Creator
Creator
Author

Funcionou, obrigado.

Thiago_Justen_

Não esqueça de marcar a resposta como correta e assim fecharmos o tópico.

Na dúvida de como fazer isso veja o item 2.3 do Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
PabloTrevisan
Partner - Creator II
Partner - Creator II

Que bom Pedro ! Fico feliz em ajudar, por favor marque a resposta como correta para atualizarmos o tópico..

abraço