TECH SOLUTIONS PARTICIPA DO CONBRAI 2016 EM SÃO PAULO

Qua 21 Set - 14:35 por Miro



Comentários: 0


Separar dados de uma coluna no SAS

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Separar dados de uma coluna no SAS

Mensagem  gimafe em Qua 24 Set - 8:57

Gostaria de saber como faço para separa os dados de uma certa coluna no SAS. Tenho um arquivo em que os dados estão misturados, por exemplo, em uma coluna há dados que deveriam estar em 3 colunas diferentes, no entanto não há nenhum tipo de separador entre essas informações.
Exemplo:
Coluna 1
774MB1851997
774MB2231995
772MB1171988

Os primeiros 2 dígitos (77) são de uma informação (1 coluna);
Os 3 seguintes (4MB ou 2MB) fazem parte de outra informação;
Os 7 seguintes (1851997), outra informação.

Como separá-los, transformando essa coluna e 3 colunas???

Obs: O arquivo original está em .DAT e foi convertido para .XLS, no entanto já estava bagunçado dessa forma.

gimafe

Mensagens : 1
Data de inscrição : 24/09/2014

Voltar ao Topo Ir em baixo

Re: Separar dados de uma coluna no SAS

Mensagem  Felipe Naibert em Seg 29 Set - 17:01

gimafe escreveu:Gostaria de saber como faço para separa os dados de uma certa coluna no SAS. Tenho um arquivo em que os dados estão misturados, por exemplo, em uma coluna há dados que deveriam estar em 3 colunas diferentes, no entanto não há nenhum tipo de separador entre essas informações.
Exemplo:  
      Coluna 1
 774MB1851997
 774MB2231995
 772MB1171988

Os primeiros 2 dígitos (77) são de uma informação (1 coluna);
Os 3 seguintes (4MB ou 2MB) fazem parte de outra informação;
Os 7 seguintes (1851997), outra informação.

Como separá-los, transformando essa coluna e 3 colunas???

Obs: O arquivo original está em .DAT e foi convertido para .XLS, no entanto já estava bagunçado dessa forma.

Prezado gimafe, boa tarde!

Segue uma solução para a sua dúvida!

// Aqui eu crio uma tabela chamada temp_1 com os registros da sua dúvida.
data temp_1;
input ORIGEM $13.;
cards;
774MB1851997
774MB2231995
772MB1171988
;
run;

// aqui eu estou criando uma tabela temp_2, pegando as posições dos campos e separando em colunas.
data temp_2;
set temp_1;
col1 = substr(ORIGEM, 1, 2);
col2 = substr(ORIGEM, 3, 3);
col3 = substr(ORIGEM, 6, 7);
run;

Qualquer dúvida estamos a disposição.

Att,
Felipe Naibert

Felipe Naibert

Mensagens : 27
Data de inscrição : 24/02/2012

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum