Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Dayane
Contributor
Contributor

tratando nome de arquivos(imagem)

Estou tentando carregar imagens de uma pasta, mas tenho que retirar as imagens que são do mesmo produto. O nome dessas imagens possuem número e o nome do produto, então acaba que são arquivos diferentes mesmo alguns possuindo o mesmo número, por exemplo:

1234 - Travesseiro Branco.jpg;

1234 - Travesseiro Preto.jpg

Mas só quero usar uma das imagens, pois ao relacionar o meu número com produto do banco de dados, dá duplicidade de dados, pois há dois arquivos com o mesmo número.

Utilizei o seguinte script para separar o número do nome do arquivo, e assim eu utilizar o número com minha base de dados:

set vRoot = 'caminho das minhas imagens';
 
PARA cada arquivo na lista de arquivos ('$(vRoot)'&'\*')
 
IMAGENS_PRODUTO:
Carregar mid('$(Arquivo)',1,15) como NUMERO, '$(Arquivo)' como ARQUIVO_IMAGEM
 
autogerar 1;
próximo arquivo
ARMAZENAR IMAGENS_PRODUTO em ..\qvd\imagens_produto.qvd(QVD);
DROP Tabela IMAGENS_PRODUTO ;

 

No script eu retiro o numero do nome do arquivo, mas pra carregar a imagem eu ainda preciso do nome completo do arquivo. Portanto não sei como fazer para o QlikView entender que só de possuir o mesmo número, ele deve carregar apenas uma das imagens...

Tentei usar o LOAD Distinct, mas como possuo nomes dos arquivos diferentes, apesar do mesmo número, ele entende como arquivos distintos, então não muda nada.

Como posso resolver essa situação?

2 Replies
CezarioAbrantes
Contributor III
Contributor III

Olá, Dayane!

Você pode carregar todos os Códigos - Nomes da forma que está fazendo, com For Each vFile in FileList(...), armazenando a tabela em um Mapping Load. 

Depois, carregue somente os Códigos com distinct e faça o ApplyMap a partir do Mapping acima. Isso fará que com que você tenha apenas o primeiro resultado Código - Nome para cada Código distinto.

Abraços

Cezário

fernando_tonial
Employee
Employee

Olá, há uma possibilidade em fazer a leitura pelo NUMERO e o Primeiro arquivo encontrado.

IMAGENS_PRODUTO:
LOAD Subfield('$(Arquivo)','-',1) AS NUMERO, FirstValue('$(Arquivo)') AS ARQUIVO_IMAGEM.....

 

Don't worry, be Qlik.
Tonial

Don't Worry, be Qlik.