Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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

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
Employee
Employee

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