Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal Bom dia.. gostaria da seguinte opiniao.
Estou tentando criar uma carga incremental, porem minha chave primaria é composta por 5 campos, se eu os concatenar e utilizar o autonumberhash consigo manter a unicidade a cada carga ?
Eu utilizo apenas o AutoNumber() para criar as minhas chaves. Ele funciona muito bem!
O importante Paulo é certificar-se de que você está pegando todos os campos indexadores da tabela para a criação desta chave. Fazendo isso com certeza irá funcionar
Abraço!
Se estiver fazendo uma carga incremental e sua chave for armazenada no QVD, provavelmente terá problemas.
O valor do campo carregado em um Autonumber/autonumberhash é gerado dinamicamente a cada recarga.
Clever, certeza ?
Olhando a guia de ajuda do qlikview :
"Calcula um hash de 128 bits dos valores combinados de entrada de expressão e retorna um valor inteiro exclusivo para cada valor de hash distinto encontrado durante a execução do script"
So seu caso, como tem 5 campos chave, recomendo concatená-los todos gerando uma chave, salvar essa chave no QVD para poder fazer sua carga incremental.
Depois simplesmente não carregue este campo na aplicação final, gerando a chave com autonumber(hash) se for o caso
Bem lembrado Clever!
O ideal então seria montar uma carga incremental utilizando um campo temporal e de preferência indexador, realizando uma condicional (se Variável_Data(Hoje) < Campo_Temporal, concatenar com QVD já existente, senão desconsiderar).
"Durante a execução do script"
Os valores que já estão no QVD não seriam recalculados
Clever ...
Tentei esta opcao concatenando as PK no metodo LOAD, porem quando tento concatenar os dados carregados anteriormente e aplico a condicao "WHERE NOT EXISTS(PK)" desconsidera registros incorretamente ..
Inclusive olhei varios exemplos, como abaixo ...
http://sertaz.blogspot.com.br/2009/01/qlikview-carga-incremental.html
Sempre é baseado em uma unica PK ....
Raphael aplico este conceito ..
Meu BD para cada registro há uma data de versao do registro.
Então vou incrementado sempre aonde a data de versao do registro foi maior que a data de versao armazenada anteriormente ...
E se eu utilizar o hash256 .. ??