domingo, 14 de julio de 2013

Tratamiento de fechas en SAS (I)

Voy a ir publicando una serie de entradas, que contendrán ejemplos sencillos sobre tratamiento de fechas en SAS. Es una práctica habitual y tener ejemplos sencillos a mano, puede ayudar.

En esta ocasión muestro un ejemplo para transformar en un paso data un campo númerico con contenido de fecha a campo tipo fecha y viceversa.

                     numérico YYYYMMDD  <--> date


/* Creamos una tabla ejemplo con variables numérica con contenido de fecha y con formato yyyymmdd */

data prueba;
length fecha_num 8.;
fecha_num = 20130601; output;
fecha_num = 20130630; output;
run;

/* Transformamos la variable numérica con contenido fecha yyyymmdd a variable tipo fecha */

data prueba1;
set prueba;
fecha_date = mdy((mod((int(fecha_num/100)),100)),(mod(fecha_num,100)),(int(fecha_num/10000)));
run;

/* Partiendo de una variable tipo fecha que contiene la fecha del día, la convertimos en un
numérico con formato yyyymmdd */

data prueba2;
fecha_date = today();
fecha_num = input(put(fecha_date,yymmddn8.),8.);
run;

No hay comentarios:

Publicar un comentario