Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
mercadante
Contributor

Preencher com espaço CPF/CNPJ

Caros,

Boa tarde!

Alguém pode me ajudar com a necessidade abaixo.

Estou importando um arquivo CSV onde a delimitação é por posição.

Eu trato este arquivo e faço um store em CSV (TXT), porem ele não ocupa as 14 posições

É possivel formatar o campo com 14 posições mesmo que seja preenchido somente com um CPF 11 posições?

Obrigado!

Atte.

Mercadante

1 Solution

Accepted Solutions
Employee
Employee

Re: Preencher com espaço CPF/CNPJ

Se for utilizar o caracter 32, cuidado que se todos os seus campos forem numéricos o QV pode tentar transformar em número.

Utilize Set Verbatim=1;

e a função Text para evitar que isso ocorra

Exemplo:

SET Verbatim='1';

Characters:

LOAD

text(chr(32) & chr(32) &chr(32) &chr(32) &chr(32) & RecNo()) as Num,

text(if( Len(CNPJ) = 14, CNPJ, Repeat(Chr(32), 14 - Len(CNPJ)) & CNPJ )) as CNPJ

autogenerate 100;

7 Replies

Re: Preencher com espaço CPF/CNPJ

Utilize o Chr(32), ele simula um caractere de espaço.

Exemplo:

Chr(32)&Chr(32)&Chr(32)&CNPJ

Claro que você primeiro deverá identificar quantas casas estão faltando para depois concatenar a quantidade correta, mais ou menos assim:

if( Len(CNPJ) = 14, CNPJ, Repeat(Chr(32), 14 - Len(CNPJ)) & CNPJ ) as CNPJ

Employee
Employee

Re: Preencher com espaço CPF/CNPJ

Se for utilizar o caracter 32, cuidado que se todos os seus campos forem numéricos o QV pode tentar transformar em número.

Utilize Set Verbatim=1;

e a função Text para evitar que isso ocorra

Exemplo:

SET Verbatim='1';

Characters:

LOAD

text(chr(32) & chr(32) &chr(32) &chr(32) &chr(32) & RecNo()) as Num,

text(if( Len(CNPJ) = 14, CNPJ, Repeat(Chr(32), 14 - Len(CNPJ)) & CNPJ )) as CNPJ

autogenerate 100;

mercadante
Contributor

Re: Preencher com espaço CPF/CNPJ

Clever,

Inclui o SET Verbatim='1'; no código e resolveu parte do meu problema.

Preciso remover o caracter "apostrofo" ', mas com replace não consigo. Você tem ideia de como fazer isso?

Employee
Employee

Re: Preencher com espaço CPF/CNPJ

Eu usaria o KeepChar(Campo,'0123456789-.') que vai manter apenas os caracteres que você precisar

mercadante
Contributor

Re: Preencher com espaço CPF/CNPJ

Clever,

Funcionou, utilizei o Replace com mapsubstring.

Ficou Show.

Estou gerando um arquivo CSV na rede, porem ele não tem delimitador, é posicional.

O que fiz foi concatenar todos os campos, assim quando dou o store ele salva na posição correta.

O que preciso agora é descobrir como não gravar o cabeçalho, pois é para importar no MasterSAF.

Obrigado Pela Ajuda!!!

mercadante
Contributor

Re: Preencher com espaço CPF/CNPJ

Yuri,

Muito obrigado pela ajuda!!!

aderlanrm
Valued Contributor

Re: Preencher com espaço CPF/CNPJ