BookmarkSubscribeRSS Feed
LeoGaber
Fluorite | Level 6

Buenas tardes Comunidad¡¡¡ Como les va?

Necesito consultarles, como pueden dividir el contenido de una columna en SAS de la manera que lo hacemos en excel?

Ya no quiero exportar mas las tablas de una app a la otra para poder hacerlo, demora demasiado. Saben como poder realizarlo desde SAS Enterprise Guide?

 

Muchas gracias A todos!

3 REPLIES 3
AndreaNG
SAS Employee

¡Se puede hacer!

En el caso de tener un delimitador en tus datos puedes utilizar la función "SCAN()", aquí tienes un ejemplo de como utilizarlo:

data personas;
	infile datalines delimiter=',';
	length nombre $16 direccion $40;
	input nombre$ direccion$;
	datalines;
Andrea Gonzalez,Reforma 505 | Cuautemoc | CDMX
Ximena Perez, Duraznos 35 | Naucalpan | EDOMEX
;
run;

Data personas_scan;
	set personas;
	Calle=Scan(direccion,1,'|');
	Delegacion_Municipio=Scan(direccion,2,'|');
	Estado=Scan(direccion,3,'|');
	drop direccion;
run;
imejias
Calcite | Level 5

Hola, 

 

Por favor, me pueden ayudar, si hay separadores juntos (||), es decir un dato viene en blanco, scan()no lo toma, por ejemplo:

 

Mexico||cuauhtemoc|roma|06720, sólo deja en la tabla 

campo1    campo2                campo3    campo4    campo5 (vacio)

Mexico     cuauhtemoc       roma         06720        

 

Si viene con dato, si lo toma:

Mexico|CDMX|cuauhtemoc|roma|06720

sólo deja en la tabla:

campo1    campo2                campo3                campo4    campo5

Mexico     CDMX                  cuauhtemoc       roma           06720        

 

Es posible evitar este comportamiento???

 

Mil gracias!

sardav
SAS Employee

Hola LeoGaber!

Perdón pero no termino de entender qué significa "dividir el contenido de una columna en SAS de la manera que lo hacemos en excel".

A qué te refieres? Si nos pasas un pequeño ejemplo te podemos ayudar.

Me quedo por acá a la espera...