Vamos a introducir los nombres de las variables SAS de un dataset en otro dataset. Esto puede sernos muy útil para realizar documentación, validaciones de los conjuntos de datos generados, automatización de instrucciones,… Es un truco muy sencillo y tan sólo es necesario comprender el funcionamiento del ODS de SAS explicado en otro de los mensajes de este blog. Simplemente empleamos el proc contents de SAS y almacenamos con ODS en un dataset el resultado del listado de las variables:


*DATASET DE PARTIDA. GENERAMOS UNO ALEATORIAMENTE;
data uno;
 do i=1 to 20;
 aleat1=ranuni(9);
 aleat2=ranuni(2);
 output;
 end;
run;
%let dt=uno;*NO QUEREMOS SALIDA OUTPUT;
ods noresults;

*CON ODS ESPECIFICAMOS EL DATASET CON LA SALIDA;
ods output Variables=contenido (keep=variable);

*HACEMOS UN PROC CONTENTS SIN MAS;
proc contents data=&dt.;
quit;

*VOLVEMOS A TENER SALIDAS DE RESULTADOS;
ods results;

*EL DATASET CONTENIDO TIENE LAS VARIABLES;

Truco muy sencillo y que retomaremos en próximas entregas para introduciros en una metodología que nos permite automatizar códigos con macros de SAS.

Para cualquier duda o cuestión rvaquerizo@analisisydecision.es

2 pensiamientos en “Truco SAS. Proc contents que genera un dataset

  • Jason

    Buena la idea, pero creo que seria mas sencillo hacer:

    proc contents data=uno out=contenido (keep=name);
    run;

    Responder
  • Edson Araujo

    De acuerdo… porque tanto para algo sensillo?? no me quedo claro…

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *