Para aquellos de ustedes que solían trabajar en SAS Base y que por alguna razón (obligado o por gusto) hoy en día están usando Enterprise Guide (mi caso!!!), se habrán dado cuenta que en las propiedades de data set ya no es posible chequear el número de observaciones o registros.
Si bien es verdad que haciendo click en la barra lateral te dice cuantos registros tiene cuando el data set esta abierto, también es verdad que esto es un fastidio especialemente cuando en data mining necesitamos dividir el data set en pequeños data sets y constatar que la suma de todos ellos es igual al data set original (al menos en número de registros).
Es por ello que escribí una macro muy sencilla que imprimi en el log el nro de registros de un data set especifíco.
Si bien es verdad que haciendo click en la barra lateral te dice cuantos registros tiene cuando el data set esta abierto, también es verdad que esto es un fastidio especialemente cuando en data mining necesitamos dividir el data set en pequeños data sets y constatar que la suma de todos ellos es igual al data set original (al menos en número de registros).
Es por ello que escribí una macro muy sencilla que imprimi en el log el nro de registros de un data set especifíco.
%macro Obs(dsn);
%if %sysfunc(exist(&dsn)) %then
%do;
data _null_;
if 0 then set &dsn nobs=nobs;
dsn="&dsn";
put dsn = nobs;
stop;
run;
%end;
%else
%put ERROR: Data set &dsn does not exist.;
%mend;
Para los que no tienen noción de macros, ejecutan el código anterior primeramente para cargar la macro en memoria (bueno realmente se carga en work.sasmacr pero no nos enredemos con eso ahora) y posteriormente la invocan así:
%obs(sashelp.class);
sashelp.class es solo un ejemplo, puede sustituir este data set por cualquier otro.
Espero le sea de tanta utilidad como lo es para mí.
SASludos,
Alberto

0 comentarios:
Publicar un comentario en la entrada