Pasar números a carácter en SAS es un tema reiterativo tanto en entradas al blog como en búsquedas. Pero que se le puede dar otra vuelta de tuerca. Se trata de transformar fechas a variables alfanuméricas, pero en este caso vamos a poner las fechas en formato español. Ejecutad este ejemplo en SAS:
data uno;
y = '30jan11'd;
c0 = put(y,ddmmyy10.);
c1 = upcase(put(y,ESPDFDD.));
c2 = upcase(put(y,ESPDFDE.));
c3 = upcase(put(y,ESPDFDN.));
c4 = upcase(put(y,ESPDFDT.));
c5 = upcase(put(y,ESPDFDWN.));
c6 = upcase(put(y,ESPDFMN.));
c7 = upcase(put(y,ESPDFMY.));
c8 = upcase(put(y,ESPDFWDX.));
c9 = upcase(put(y,ESPDFWKX.));
run;
Imagino que todos tenéis el NLS de SAS instalado y no tenéis problemas con estos formatos. Resumamos que nos ofrece cada una de estas transformaciones:
DDMMYY10es el más habitual y nos genera30/01/2011podemos jugar con la longitudESPDFDDgenera30.01.2011un formato que personalmente utilizo muchoESPDFDEgenera30ENE2011probablemente el más habitualESPDFDNgenera un7, la semana del añoESPDFDTgenera un fecha-hora con formato español, en este caso no tiene mucho sentidoESPDFDWNnos pone el día de la semana,domingoESPDFMNnos pone el mes,eneroESPDFMYgeneraENE11, práctico para sumarizacionesESPDFWDXgenera30 DE ENERO DE 2011ESPDFWKXgeneraDOMINGO, 30 DE ENERO DE 2011un formato que no he usado nunca
Estos formatos SAS los conozco gracias a un lector del blog. Al César lo que es del César. Aquí aprendemos todos. Es interesante recogerlos todos juntos para que esta entrada quede como una referencia de la transformación de fechas en textos en SAS. Saludos.