segunda-feira, 19 de maio de 2014

Join e Keep

Join
O prefixo join une a tabela carregada a uma tabela nomeada existente ou à última tabela lógica. Esse procedimento consiste em uma junção natural executada com todos os Campos  . O comando join pode ser precedido dos prefixos:
Inner – Realiza a junção das tabelas pela interseção dos campos comuns;
Outer – Realiza a junção das tabelas pela união de todos os campos;
Left – Realiza a junção das tabelas com todos os campos existentes na tabela da esquerda mais os registros comuns encontrados na tabela da direita;
Right - Realiza a junção das tabelas com todos os campos existentes na tabela da direita mais os registros comuns encontrados na tabela da esquerda;
Sintaxe Geral:
[(inner|outer|left|right)] join [(nomedatabela)] (comandoload | comandoselect)

Exemplos:
CONTEXTO:
COD,CONTEXTO
1,Contexto1
2,Contexto2
3,Contexto3
4,Contexto4
5,Contexto5

PERGUNTA:
COD,PERGUNTA
1,Pergunta1
2,Pergunta2
3,Pergunta3
4,Pergunta4
5,Pergunta5
6,Pergunta6
7,Pergunta7
8,Pergunta8

LOAD * from CONTEXTO;

Inner Join (CONTEXTO)
LOAD * from RESPOSTA;


LOAD * from CONTEXTO;

Outer Join (CONTEXTO)
LOAD * from RESPOSTA;


LOAD * from CONTEXTO;

Left Join (CONTEXTO)
LOAD * from RESPOSTA;


LOAD * from CONTEXTO;

Right Join (CONTEXTO)
LOAD * from RESPOSTA;


Keep
O prefixo keep entre dois comandos Load ou Select (SQL) reduz uma ou as duas tabelas antes de seu armazenamento no QlikView, com base na interseção dos dados da tabela. A palavra-chave keep deve ser sempre precedida do prefixo Inner Left ou Right . A seleção de registros das tabelas é feita da mesma maneira que em uma junção correspondente. Entretanto, as duas tabelas não são unidas e serão armazenadas no QlikView como duas tabelas nomeadas separadas.

Nota!

A palavra-chave explícita Join na linguagem de script do QlikView executa uma junção completa das duas tabelas, que resulta em uma tabela. Em muitos casos, essas junções resultam tabelas muito grandes. Uma das principais características do QlikView a capacidade de fazer associações entre as tabelas, em vez de uni-las, reduzindo bastante o uso da memória, aumentando a velocidade de processamento e oferecendo grande flexibilidade. Portanto, geralmente as junções explícitas devem ser evitadas nos scripts do QlikView. A funcionalidade keep foi desenvolvida para diminuir o número de casos em que é necessário usar junções explícitas.

Nenhum comentário:

Postar um comentário