Sas: como dividir strings por delimitador
Você pode usar a função scan() no SAS para dividir rapidamente uma string com base em um delimitador específico.
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: dividir strings por delimitador em SAS
Vamos supor que temos o seguinte conjunto de dados no SAS:
/*create dataset*/ data my_data1; input name $25.; datalines ; Andy_Lincoln_Bernard Barry_Michael Chad_Simpson_Smith Derrick_Parson_Henry Eric_Miller Frank_Giovanni_Goodwill ; run ; /*print dataset*/ proc print data =my_data1;

Podemos usar o código a seguir para dividir rapidamente a string do nome em três strings separadas:
/*create second dataset with name split into three columns*/ data my_data2; set my_data1; name1= scan (name, 1 , '_'); name2= scan (name, 2 , '_'); name3= scan (name, 3 , '_'); run ; /*view second dataset*/ proc print data =my_data2;

Observe que a sequência da coluna de nome foi dividida em três novas colunas.
Para nomes para os quais existe apenas um delimitador, o valor na coluna name3 está simplesmente vazio.
Observe que também poderíamos usar a função drop para remover a coluna de nome original do novo conjunto de dados:
/*create second dataset with name split into three columns, drop original name*/ data my_data2; set my_data1; name1= scan (name, 1 , '_'); name2= scan (name, 2 , '_'); name3= scan (name, 3 , '_'); dropname ; run ; /*view second dataset*/ proc print data =my_data2;

Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
 Como normalizar dados no SAS
 Como renomear variáveis no SAS
 Como remover duplicatas no SAS
 Como substituir valores ausentes por zero no SAS
