BookmarkSubscribeRSS Feed
Tip Semanal 038: Uso de Error, Warning y Note
Berenice25
SAS Employee

Todos los que programamos utilizamos continuamente el log para ver cuan bien (o cuan mal) funcionan nuestros códigos. 

 En este Tip presentamos una alternativa para ampliar los diferentes mensajes que nos da el log. Esperamos que les sea de utilidad.

 Para más información pueden ver: 
 https://support.sas.com/resources/papers/proceedings13/350-2013.pdf

 

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





options locale=es_AR; /*utilizamos formatos locales para las fechas */


/* Para comenzar creamos un conjunto de datos */

data prueba_01;
	input id inicio fin monto;
	informat inicio fin ddmmyy8.;
	format inicio fin nldatew30. monto dollarx15.;
	cards;
1  28112018 07022019 2100000
2  23042017 12012017 1300000
3  01122016 18102018 1100000
4  02072019 01032020 0570000
5  28112019 07052021 1900000
6  13112019 29012019 1050000
7  08062019 07072022 2300000
8  09102022 06122022 3300000
9  18092020 07042020 1600000
10 13102021 06012022 3600000
;
run;


/* En este programa utilizamos Error y Note para escribir en el log. */
/* Eso sí, ¡escribimos como si relamente fueran errores o notas! */

data prueba_02;
	set prueba_01;
	err=0;

	if inicio gt fin then
		do;
			err=1;
			put 'ERROR: relación de fechas incorrecta: ' id=  inicio=  fin= monto=;
		end;

	if err=1 then
		put 'NOTE: ¡Atención! ejecute el programa "Elimina errores" para borrar las filas con fechas inconsistentes';
run;



/*****************************/
/* Programa "Elimina errores */
/*****************************/

/* Este programa utiliza Warnings para informar las filas que se eliminan. */

data prueba_final;
	set prueba_02;
	drop err;
	format monto dollarx15.;

	if inicio gt fin then
		do;
			put 'WARNING: fila eliminada: ' id=  inicio=  fin= monto=;
			delete;
		end;
run;



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

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Article Labels
Article Tags
Contributors