Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 |
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;
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
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
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.
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
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;
Muito Obrigado
100%
Vou olha mas me responderam era bem isso que está acima.
Obrigado Francisco pela atenção e paciência.
Deu 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;
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>