ODS Trace On: Más características del ODS
No obstante, esta no es su única habilidad. También podemos crear data sets automáticamente a partir de procedmientos SAS. A continuación les dio una breve explicación.
Cuando ejecutamos cualquier procedimiento SAS como por ejemplo el Proc Freq, este nos devuelve una salida (en SAS Foundation sería el Output Windows), un reporte (en Enterprise Guide sería un html). Esta salida contiene información acerca de la frecuencia de cada valor contenido en la variable(s) específicada(s) en la sentencia TABLE. Esta información que SAS nos presenta en formato de reporte es adicionalmente almacenada en data set al que podemos tener acceso utilizando los ODS Output Tables.
Para saber que tipo salidas produce cada procedimiento debemos usar el ODS Trace ON. Aquí un ejemplo sencillo:
ods trace on;
proc freq data=sashelp.class;
table sex;
run;
ods trace off;
El ODS Trace on produce el siguiente resultado en el Log:
Output Added:
————-
Name: OneWayFreqs
Label: One-Way Frequencies
Template: Base.Freq.OneWayFreqs
Path: Freq.Table1.OneWayFreqs
————-
El mensaje anterior nos dice que el Proc freq creo el data set OneWayFreqs para generar el reporte que vimos cuando ejecutamos el procedmiento.
A medida que nuestro Proc se hace más complejo, es decir agregamos más variables, cruces, opciones o estadísticas el procedimiento genera data set adicionales.
Como accesamos esta información? como la guardamos en un data set “nuestro”? Para esto usamos la opción ODS OUTPUT de la siguiente manera:
ods output OneWayFreqs=Myfreqs;
proc freq data=sashelp.class;
table sex;
run;
Con el código anterior hemos creado el data set Myfreqs con la información contenida en el data set OneWayFreqs. Podemos crear tantos data sets como outputs sean creados con las opciones de procedmiento que vamos a ejecutar.
Ahora bien, para saber a que tipo de información tenemos acceso en cada procedimiento, debemos ir al HELP de SAS/EG, buscar el procedimiento y buscar bajo la opción de ODS TABLE NAMES que tenemos disponible.
Esta tarea se puede volver algo tediosa cuando sabemos lo que necesitamos pero no sabemos cual es el Proc más adecuado (distintos Proc pueden crear la misma información).
Para ello he creado una lista pública donde puede obtener los tipos de objetos de salida por Producto y Procedimiento SAS.
Aquí tienen el link:
http://tinyurl.com/olabu3Espero le sea de utilidad!
SASludos,
Alberto