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

Announcements
Posting on Qlik Community is temporarily paused. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
maiconmello
Creator III
Creator III

Autonumber

Boa tarde Pessoal, estou fazendo alguns estudos e gostaria de verificar e sanar algumas dúvidas referente a autonumber.

Até onde conheço o autonumber quando utilizo para uma chave composta, ele gera um sequencial sobre uma chave que mandei criar, com isso reduzindo consumo e memória e deixando mais otimizado.

Dúvida é :

Quando faço um autonumber em um load , em seguinte dou um store e drop a tabela, a próxima tabela que eu criar um autonumber ele mantém o mesmo autonumber da leitura da tabela anterior ??

Ou para que não perca a referencia eu preciso primeiro ler as tabelas e depois no final somente dar o store das mesma e drop consequentemente ??

Não sei se fui claro mas vou tentar simular um exemplo :

nf:

Load autonumber(NumNF &'-'&  Serie ) as PK_NOTA,

        NumNF from tabela;

Store nf into c:\qlik\qvd\nf.qvd(qvd);

drop table nf;

=====================================================

ItemNF:

Load autonumber(NumNF &'-'&  Serie ) as PK_NOTA,

        itemNF from tabela 2;

Store ItemNF into c:\qlik\qvd\ItemNF.qvd(qvd);

drop table ItemNF;

//Quando fazer a leitura dos dois QVD a PK_NOTA estarão com a referencia correta ??

13 Replies
Marcio_Campestrini
Specialist
Specialist

Yuri,

Nessa linha, no momento da leitura dos dados para a aplicação, eu forço a leitura otimizada e depois faço uma nova leitura da tabela criando as chaves via Autonumber (hash ou não)?

Márcio Rodrigo Campestrini
nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Márcio, depende do volume de registros e colunas que a sua tabela possui. É bom fazer os testes entre os dois cenários: criar a chave na leitura da sua tabela ou fazer uma leitura otimizada e depois fazer o join com a chave.

Cenário 1)

Tabela:

LOAD *, AutoNumberHash128(CAMPO1, CAMPO2, CAMPO3) as CHAVE FROM tabela.qvd (qvd);

Cenário 2)

Tabela:

LOAD * tabela.qvd (qvd); //Leitura otimizada

Chave_Tmp

LOAD DISTINCT AutoNumberHash128(CAMPO1, CAMPO2, CAMPO3) as CHAVE, CAMPO1, CAMPO2, CAMPO3 RESIDENT Tabela; //Leitura não otimizada, mas somente das linhas da chave.

LEFT JOIN (Tabela)

LOAD

    *

RESIDENT Chave_Tmp;

DROP TABLE Chave_Tmp;

Clever_Anjos
Support
Support

Achou a solução? Se sim, marque as corretas e úteis, por favor

Marcio_Campestrini
Specialist
Specialist

Bom dia Maicon

O seu problema foi resolvido? Se sim, marque as respostas úteis/corretas para fechar o tópico.

Obrigado

Márcio Rodrigo Campestrini