Inicio > Programming > Comprobando sintaxis con OBS=0

Comprobando sintaxis con OBS=0


Estos son algunos tips que debemos tomar en cuenta antes de ejecutar programas que utilicen data sets extremadamente grandes.

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

Categorías:Programming
  1. Aún no hay comentarios.
  1. Aún no hay trackbacks

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.