SAS TRANSPOSE para girar la estructura del data.

En algunas ocasiones las extracciones en SQL recuperan los datos no necesariamente de la manera mas útil para utilizarlos. Por ejemplo, cuando la extracción nos genera una tabla transaccional (varios registros por ID), pero lo que necesitamos es una tabla unitaria (un único registro por ID). Con la programación SAS, podemos transponer la información con un PROC TRANSPOSE.

Ejercicio: Transponer la información transaccional de las evaluaciones obtenidas de un grupo de alumnos en sus exámenes semestrales...

 

Data:

NOMBRE MATERIA CALIFICACION
Josue Quimica 8
Aaron Matematicas 7
Josue Contabilidad 9
Josue Matematicas 8
Aaron Quimica 6
Moises Matematicas 10
Moises Contabilidad 9

 

Sintaxis:

PROC TRANSPOSE
 DATA = <data origen>
 OUT = <data destino> (DROP = _NAME_ _LABEL_ ) [PREFIX=<variable nombre de nuevo campo>];
 BY <campo llave>;
 ID <variable nombre de nuevo campo>;
 VAR <variable valor del nuevo campo>;
RUN; 

 

Ejemplo:

PROC TRANSPOSE
 DATA = CALIFICACIONES
 OUT = LISTADO(DROP = _NAME_ _LABEL_ ) PREFIX=MATERIA;
 BY NOMBRE;
 ID MATERIA;
 VAR CALIFICACION;
RUN; 

 

Resultado:

NOMBRE QUIMICA MATEMATICAS CONTABILIDAD
Josue 8 8 9
Aaron 6 7  
Moises   10 9

 

El ejemplo podría parecer muy sencillo pero si que resulta útil cuando menos te lo esperas.

 

Moises Garnica Radilla

Antes de que te marches, por favor coméntanos que es lo que buscabas para tenerlo listo en tu próxima visita. Si por el contrario lo encontraste apóyanos con un Me gusta. También te puedes subscribir a nuestra lista de novedades. Gracias por tu visita.

Valoramos tus comentarios