Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Fórum

Delimitador em campo aberto de descrição

thiago_tanaka
Asteroide

Pessoal, estou com um probleminha para tratar uma massa gigante de dados. A base contém um campo, chamado "Denominação do Imobilizado", e que é aberta para quem faz o cadastro inputar o descritivo do produto. Ocorre que o delimitador do arquivo é a barra vertical "|", e nesse campo descritivo o inputante também coloca no meio do texto a mesma barra vertical (ex: "QDF 200A | 48V | DUAL"). O que deveria permanecer na coluna, ao inserir a ferramenta de texto para coluna, acaba distribuindo erroneamente para outros campos.

 

thiago_tanaka_0-1631327872126.png

 

thiago_tanaka_1-1631327920641.png

 

Aqui eu utilizei o delimitador \n, porque era o único dentre as opções que estava conseguindo capturar todas as linhas do arquivo que tem mais de 5mm lançamentos.

 

Anexo aqui uma amostra e que contém a problemática. Eu copiei, colei num bloco de notas e salvei como .txt.

 

7 RESPOSTAS 7
dougperez
Quasar

Opa thiago, tudo bem?

 

Fiz um fluxo pra tratar isso, de uma olhada. O problema é que essa estrutura de arquivo não pode mudar, senão a lógica do fluxo muda.

Se minha resposta te ajudou, marque como solução!

 

thiago_tanaka
Asteroide

Olá @dougperez . Muito obrigado pela colaboração. Contudo, algo que você citou é a principal questão para mim, a escala. Eu preciso de uma solução para casos diferentes desses e que podem aparecer mensalmente, por exemplo. A base histórica até poderia resolver, mas a questão é a imprevisibilidade desse tipo de campo. Até estamos solicitando à equipe de sistema para bloquear a inserção desses tipos de caracteres que também podem ser delimitadores, mas sem previsão de solução.

carlosteixeira
15 - Aurora
15 - Aurora

Bom dia @thiago_tanaka tudo bem?

Me parece que o seu arquivo de origem tem espaços delimitados pelo tamanho do campo.

 

Nesses casos eu recomendo você ler o arquivo da seguinte forma:

 

Primeiro eu li apenas os 4 primeiros campos com a quantidade de caracteres que eu quero, veja na imagem (as linhas vermelhas eu crio apenas clicando o mouse) e já vou colocando os nomes dos campos

carlosteixeira_0-1631537383002.png

 

Após isso eu leio o arquivo já com alguns campos, no seu caso eu li até o campo onde não podemos usar o '|' como delimitador.

Na sequencia eu já elimino os campos que eu nao vou usar (os PIPES) usando o Select

carlosteixeira_1-1631537497672.png

 

Depois disso, sobra o campo FIELD1 (que contem todo o restante dos seus dados, e neste caso vc pode usar o Text to columns usando o | como delimitador

 

carlosteixeira_2-1631537583135.png

Por fim só limpar os espaços em branco com o data cleansing e o select para remover os campos que vc nao vai usar. 

Depois é só formatar seus números

 

Segue o Workflow de exemplo

 

Abraços

 

Carlos A Teixeira

Alteryx ACE

Carlos A Teixeira
thiago_tanaka
Asteroide

...

carlosteixeira
15 - Aurora
15 - Aurora

@thiago_tanaka esse campo você não aplica o delimitador.

Pelo que entendi todo o conteúdo desse campo deve permanecer nele sem fazer quebra.

Ou entendi errado?

 

Abraços

Carlos A Teixeira
thiago_tanaka
Asteroide

@carlosteixeira Sim, é isso mesmo. Eu fui tentar reproduzir e não inseri a última barra, após a denominação. Por isso não estava dando certo. Vou tentar reproduzir na base total. Já retorno para informar se deu certo. Obrigado

Fala pessoal, tudo bem?

 

Thiago, bom dia. Segue minha solução. Espero que ajude você.

A coluna 1, é como recebemos a base.

Até a coluna que está como regexout5, eu fiz com regex. Reparei que sempre depois dela tinha uma padrão de números (numero).(numero),(numero) e foi isso que eu usei para separar.

Depois foi um text to columns para as demais e o delimitador foi |-

 

aj_comu_1.PNG

 

Se der certo, me avise por favor.

 

Abraço

Rótulos