Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Exemplo de Link table

Olá pessoal,

Segue um exemplo de Link Table.

Espero que ajude a todos.


Venda:
Load
AutoNumber(Ano & '|' & Mês & '|' & [Código Cliente]) as Chave,
//Ano,
//Mês,
//[Código Cliente],
[Valor Venda]
FROM LinkTable.xls (biff, embedded labels, table is [Venda$]);
Orcamento:
Load
AutoNumber(Ano & '|' & Mês & '|' & [Código Cliente]) as Chave,
//Ano,
//Mês,
//[Código Cliente],
[Valor Orcamento]
FROM LinkTable.xls (biff, embedded labels, table is [Orcamento$]);
Cliente:
Load
[Código Cliente],
[Nome Cliente]
FROM LinkTable.xls (biff, embedded labels, table is [Cliente$]);

//====================================================
// LINK TABLE
//====================================================
LinkTable:
Load DISTINCT
AutoNumber(Ano & '|' & Mês & '|' & [Código Cliente]) as Chave,
Ano,
Mês,
[Código Cliente]
FROM LinkTable.xls (biff, embedded labels, table is [Venda$]);
LinkTable:
Load DISTINCT
AutoNumber(Ano & '|' & Mês & '|' & [Código Cliente]) as Chave,
Ano,
Mês,
[Código Cliente]
FROM LinkTable.xls (biff, embedded labels, table is [Orcamento$]);


5 Replies
Not applicable
Author

Ola Fernando

Isso me ajudou agora em algumas resoluções que eu estava precisando.

Abraços

Igor

cesaraccardi
Specialist
Specialist

Tonial,

Eu estava analisando seu exemplo e me surgiu uma dúvida, percebi que nas suas chaves quando você concatena os campos você coloca um caracter entre eles '|' ou ')'. Eu costumo fazer isso também porque imagino que possa haver o seguinte problema:

Campo1Campo2Campo1 & Campo2
Linha 1100220100220
Linha 2100220100220


Duas linhas com valores diferentes para os campos, porém o resultado da chave fica com o mesmo valor e é interpretado da mesma forma. Apesar disso, nunca testei se de fato o QlikView interpreta a concatenação da mesma forma. Você sabe me dizer se é realmente necessário colocar os separadores?

Abraços

Not applicable
Author

Olá Cesar,

Sua colocação esta perfeita e realmente é necessário colocar o separador pelo motivo exposto por você. O separador ')' foi por engano, sempre utilizo o pipe '|'.

Você pode fazer o seguinte teste.

Com base nos dados que você colocou utilizar a função AutoNumberHash128, você verá que ao suprirmos o separador, o resultado para a concatenação dos dois campos será a mesma e ao colocarmos o separador o resultado será diferente.

Segue exemplo.


TESTE:
LOAD
*,
Campo1&Campo2 AS KEY1,
AutoNumberHash128(Campo1&Campo2) AS KEY2,
Campo1&'|'&Campo2 AS KEY3,
AutoNumberHash128(Campo1&'|'&Campo2) AS KEY4
INLINE [
Campo1, Campo2
1002, 20
100, 220
];


cesaraccardi
Specialist
Specialist

Perfeito Tonial,

Fiz uma aplicação de teste com o script que você mostrou e ficou evidente a necessidade de incluir um separador entre os campos, se isto não for feito o QlikView interpreta como a mesma chave.

Obrigado!

evandroaps
Contributor
Contributor

Obrigado Fernando ! Ótimo POST