Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Importar arquivo Texto e exportar de outro jeito

Bom uso um coletor de código de barras que gerar assim

Código do Produto 123123,5  a quantidade 5

Eu preciso que o arquivo de exportação gere em linha conforme o exemplo abaixo a quantidade repita o código de barras. Que assim que o sistema que importa reconhece.


Tabela de importação

123123,5

312312,5

No arquivo Exportação

Tenho que pegar 123123 que é o código e cada quantidade ,5 é uma linha

Exemplo na Tabela abaixo.

Anexo o arquivo do coletor.

Existe alguma função, script ou vba. que faz isso no qlik

Tabela Exportação

123123

123123

123123

123123

123123

312312

312312

312312

312312

312312

Neves
1 Solution

Accepted Solutions
el_aprendiz111
Specialist
Specialist

Agnaldo buenas tardes

Este script te puede servir

TMP:
LOAD * Inline
[
field,Rep
123123,5
312312,3
312314,8
]
;


FOR i = 1 TO NoOfRows('TMP') 

LET vTbl = FieldValue('field', $(i));
LET vCon = previous(FieldValue('Rep',     $(i)));
 
TRACE $(vCon);

sumary:
LOAD '$(vTbl)' AS MyField,
$(vCon)  AS MyRep,
RecNo()  AS CONT

AutoGenerate $(vCon) 
;


NEXT  


DROP Table TMP;
EXIT Script;

View solution in original post

9 Replies
rogerioalmeida
Creator
Creator

Agnaldo,

Acredito que se você der um nome a esse campo e na leitura do seu arquivo você lê apenas este campo ele vai ficar conforme o que você precisa:

Ex:Tabela:

Cod_Produto,Qtd

1234,5

1111,66

;

Se na tabela você lê apenas o campo Cod_Produto então ficaria assim isso serve para os 2 casos ou ler cod produto ou qtd.

Cod_Produto

1234

1111

Espero ter ajudado

Ribeiro
Specialist
Specialist
Author

Francisco eu preciso é que o campo 123123,5 que será importado,

seja tratado e separado e o qlik atribui ele a quantidade igual de baixo.

Ele seja gerado 5 vezes, pois ele é quantidade 5

Depois da virgula não precise exportar. Mas que seja usado para fazer a mutiplicação da quantidade.  e gerar as linhas corresponde a quantidade depois da virgula

Ficaria assim

Cod_Produto

123123

123123

123123

123123

123123

Neves
Ribeiro
Specialist
Specialist
Author

Tratar o Campo, ficaria assim:

num(SubField(Cod_PRODUTO, '-', 1)) AS CodProduto,

num(SubField(Cod_PRODUTO '-', 2)) AS Quantidade

Agora preciso pegar a Quantidade e gerar em linha pelo codigoProduto

Exemplo:

CodProduto  Quantidade

123123          5

Como Deveria ficar.

123123

123123

123123

123123

123123

Francisco você tem alguma idéia de como eu faria isso.

Neves
rogerioalmeida
Creator
Creator

Agnaldo,

Se entendi direito a combinação de funções.

Olha se isso atende pelo que entendi é parecido.

https://community.qlik.com/thread/211083

Espero ter ajudado

el_aprendiz111
Specialist
Specialist

Agnaldo buenas tardes

Este script te puede servir

TMP:
LOAD * Inline
[
field,Rep
123123,5
312312,3
312314,8
]
;


FOR i = 1 TO NoOfRows('TMP') 

LET vTbl = FieldValue('field', $(i));
LET vCon = previous(FieldValue('Rep',     $(i)));
 
TRACE $(vCon);

sumary:
LOAD '$(vTbl)' AS MyField,
$(vCon)  AS MyRep,
RecNo()  AS CONT

AutoGenerate $(vCon) 
;


NEXT  


DROP Table TMP;
EXIT Script;

Ribeiro
Specialist
Specialist
Author

Muito Obrigado

100%

Neves
Ribeiro
Specialist
Specialist
Author

Vou olha mas me responderam era bem isso que está acima.

Obrigado Francisco pela atenção e paciência.

Neves
Ribeiro
Specialist
Specialist
Author

2017-11-29_15-38-25.pngDeu um problema Fer.

Quanto existe quantidade iguais repetidas ele não carrega.

Cod, Qtde

123456, 5

123457,5

Ele só funciona se

123456,1

123456,7

TMP:

LOAD @1,

SubField(@1, ',', 1) AS field,

SubField(@1, ',', 2) AS Rep

FROM

(txt, codepage is 1252, no labels, delimiter is '\t', msq);

FOR i = 1 TO NoOfRows('TMP')

LET vTbl = FieldValue('field', $(i));

LET vCon = previous(FieldValue('Rep',     $(i)));

  TRACE $(vCon);

sumary:

LOAD '$(vTbl)' AS MyField,

$(vCon)  AS MyRep,

RecNo()  AS CONT

AutoGenerate $(vCon)

;

NEXT

DROP Table TMP;

EXIT Script;

Neves
Ribeiro
Specialist
Specialist
Author

Veja que se no seu script eu troca as rep 3 por 5.

Ele da erro.

2017-11-29 15:13 GMT-02:00 Fer Fer <qcwebmaster@qlikview.com>:

Qlik Community <https://community.qlik.com/?et=watches.email.thread>

Importar arquivo Texto e exportar de outro jeito

resposta de Fer Fer

<https://community.qlik.com/people/el_aprendiz111?et=watches.email.thread>

em Qlik Brasil - Visualize a discussão completa

<https://community.qlik.com/message/1391695?et=watches.email.thread#1391695>

Neves