BookmarkSubscribeRSS Feed
Berenice25
SAS Employee
/************************************/
/************************************/
/*									*/
/*   SAS - Customer Success Latam 	*/
/*									*/
/************************************/
/************************************/


/************************************/
/************************************/
/*									*/
/*      Webinar: SAS y Excel		*/
/*            23Jun2022             */
/*									*/
/************************************/
/************************************/


/************************************/
/* Expositor: Daniel Vazquez Vargas */
/************************************/
 

/************************/
/*	Uso de "ODS html"	*/
/************************/


/****************************************************************/
/* 	  Escribir tablas en una misma hoja Excel, en una grilla 	*/
/****************************************************************/


/****************************************************************/
/* 	  Vamos a escribir una parte de 4 tablas en una misma hoja 	*/
/* 	  Excel. La idea es colocarlas en los vértices de un 		*/
/*	  cuadrado de 3 x 3, lo que nos permite dejar una fila y 	*/
/*    una columna de separación.								*/
/****************************************************************/




/*-------------------*/
/* inicio del código */
/*-------------------*/

/* Necesitamos algunos parámetros de entrada, que son: 	*/
/* ----> 4 tablas (o datasets)   						*/
/* ----> cantidad de filas (u observaciones) 			*/
/* ----> cantidad de columnas (o variables)				*/


/* Elegimos las 4 tablas */
%let dataset1=sashelp.class;
%let dataset2=sashelp.cars;
%let dataset3=mapssas.world;
%let dataset4=sashelp.air;

/* Elegimos la cantidad de filas y columnas */
%let filas=10;
%let columnas=5;

/* Elegimos el archivo Excel */
ods html file="g:\temp\grilla.xls";

/*Armo la grilla*/
ods layout gridded rows=3 columns=3; /*¡sí! ¡ODS layout! SAS está lleno de secretos...*/


/* Ahora sí, comenzamos a escribir las tablas */
/* Tabla Nro. 1 */
ods region row=1 column=1; /*Voy a la primera esquina*/

proc contents data=&dataset1 out=lista_vars noprint varnum;
run;

proc sort data=lista_vars  out=lista_vars1;
	by varnum;
run;

proc sql noprint outobs=&columnas;
	select  name
		into :variables separated by ' '
			from lista_vars1;
quit;

%put &=variables;  /*es para controlar las variables en el Log*/

title1 justify=center font='Arial' height=14pt color=white bold bcolor=grey "&dataset1";
proc print data=&dataset1 (obs=&filas);
	var &variables;
run;
title;


/* Tabla Nro. 2 */
ods region row=1 column=3;  /*Voy a la segunda esquina*/

proc contents data=&dataset2 out=lista_vars noprint varnum;
run;

proc sort data=lista_vars  out=lista_vars1;
	by varnum;
run;

proc sql noprint outobs=&columnas;
	select  name
		into :variables separated by ' '
			from lista_vars1;
quit;

%put &=variables; /*es para controlar las variables en el Log*/

title1 justify=center font='Arial' height=14pt color=white bold bcolor=grey "&dataset2";

proc print data=&dataset2 (obs=&filas);
	var &variables;
run;
title;


/* Tabla Nro. 3 */
ods region row=3 column=1;  /*Voy a la tercera esquina*/

proc contents data=&dataset3 out=lista_vars noprint varnum;
run;

proc sort data=lista_vars  out=lista_vars1;
	by varnum;
run;

proc sql noprint outobs=&columnas;
	select  name
		into :variables separated by ' '
			from lista_vars1;
quit;

%put &=variables; /*es para controlar las variables en el Log*/

title1 justify=center font='Arial' height=14pt color=white bold bcolor=grey "&dataset3";
proc print data=&dataset3 (obs=&filas);
	var &variables;
run;
title;


/* Tabla Nro. 4 */
ods region row=3 column=3;  /*Voy a la cuarta esquina*/

proc contents data=&dataset4 out=lista_vars noprint varnum;
run;

proc sort data=lista_vars  out=lista_vars1;
	by varnum;
run;

proc sql noprint outobs=&columnas;
	select  name
		into :variables separated by ' '
			from lista_vars1;
quit;

%put &=variables; /*es para controlar las variables en el Log*/

title1 justify=center font='Arial' height=14pt color=white bold bcolor=grey "&dataset4";
proc print data=&dataset4 (obs=&filas);
	var &variables;
run;
title;

ods layout end;

ods html close;

ods listing;



/*--------------------*/
/* 	fin del código	  */
/*--------------------*/

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Discussion stats
  • 0 replies
  • 274 views
  • 0 likes
  • 1 in conversation