Artículos

/***
SET archivo1;
SET archivo2;
Similar, pero no se detiene en la observación final del archivo con menos observaciones,
 sino que pone valores missing en las variables del archivo con menos
observaciones no presentes en el otro archivo.
**/
Data software.archivo1;
Input X Y Z;
cards;
2 6 8
4 8 2
;
run;
Data software.archivo2;
Input Z W;
cards;
3 5
9 1
7 5
;
run;
Data software.union;
merge software.archivo1 software.archivo2;
run;
/***
A veces, el orden observación a observación de los dos archivos no coincide. En estos
casos, si existe una variable común en los dos archivos, para que MERGE sea eficaz es necesario
a) Reordenar todos los archivos de origen por las variables comunes con PROC SORT
DATA=archivo1 BY var1 var2...
b) Utilizar la notación MERGE archivo1 archivo2...;BY var1 var2...
***/
Data software.persona;
Input nombre$ sexo$;

cards;
MARIA F
ANA F
TOMAS M
;

run;
data software.lugar;
Input nombre$ ciudad$ region$;
cards;
JOSE ALAVA 5
MARIA MALAGA 2
MARIA ORENSE 7
ANA ORENSE 6

run;
PROC SORT DATA=software.persona; BY NOMBRE;
PROC SORT DATA=SOFTWARE.LUGAR; BY NOMBRE;
DATA SOFTWARE.UNION;
MERGE SOFTWARE.PERSONA SOFTWARE.LUGAR; BY NOMBRE;
RUN;
/** informac jornada puntosa puntosb rsult suma
otro solo la jornada y la competici�n y el partido jugado como equipo
los partidos ganados (de �ste)
todas las variables pero solo las var de 18 a 40
Que lea a partir de la 10 todas menos suma**/
data software.ejemplo1;
set clase.baloncesto (keep= jornada puntosa puntosb result suma_A_B);
run;
data software.ejemplo2;
set clase.baloncesto (drop= contrinc puntosa puntosb puntost result suma_A_B);
run;
data software.ejemplo3;
set software.ejemplo1 (where=(result='Ganado'));
run;
data software. ejemplo4;
set clase.baloncesto (firstobs=18 obs=40);
run;
data software. ejemplo5;
set clase.baloncesto  (firstobs=10 drop=suma_A_B);
run;