Comprobando sintaxis con OBS=0
Antes de ejecutar cualquier programa SAS que manipule grandes data sets primero debemos asegurarnos que la sintaxis de nuestro programa esta correcta. Para ello utilizamos la opción OBS=0 que nos pemite ejecutar cada Data Step o Proc en el programa sin utilizar ninguna observación, así nuestro programa se ejecutaría de principio a fin casi instantáneamente para poder verificar el Log y ver que todo esta perfectamente correcto.
Si el resultado final de nuestro programa es un data set, deberíamos usar adicionalmente un PROC CONTENTS para asegurarnos que el data set contiene todas las variables necesarias con sus nombres y formatos correctos.
Hay que tener mucho cuidado cuando usamos la opción OBS=0 junto con el PROC SORT. Si el PROC SORT no contiene la opción OUT= cuando ordenamos una data set, lamentablemente para nosotros estaremos reescribiendo nuestro data set con una nueva versión sin datos.
Para evitar este pequeño inconveniente debemos utilizar la opción NOREPLACE.
Aquí tienen un pequeño ejemplo:
libname test “c:\”;
data test.shoes;
set sashelp.shoes;
run;
options obs=0 noreplace;
proc sort data=test.shoes; by region;run;
option obs=max replace;
Como ultimo comentario, quería mencionar que la opción NOREPLACE no afecta a los data sets in la librería WORK.
SASludos,
Alberto