Algunos tips para trabajar con fechas
En general muchos usuarios de SAS ven un poco tedioso trabajar con fechas especialmente cuando necesitas calcularlas dinámicamente dependiendo del rango en estudio.
Aquí tienen algunos tips para hacer estos cálculos usando algunas de las nuevas funciones incorporadas en SAS 9.1.3
Primer día del mes en curso:
first_month_date=intnx(‘MONTH’,today(),0,’B');
Ultimo día del mes en curso:
end_month_date=intnx(‘MONTH’,today(),0,’E');
Primer día laborable del mes en curso:
first_b_month_date=INTNX(‘DAY’,INTNX(‘MONTH’,today,0,’B'),+(WEEKDAY(INTNX(‘MONTH’,today,0,’b'))=7)*2+(WEEKDAY(INTNX(‘MONTH’,today,0,’B'))=1));
Ultimo día laborable del mes en curso:
last_b_month_date=INTNX(‘DAY’,INTNX(‘MONTH’,today,0,’E'), – (WEEKDAY(INTNX(‘MONTH’,today,0,’end’))=7) – (WEEKDAY(INTNX(‘MONTH’,today,0,’E'))=1)*2);
La lógica es la misma para calcular el mes anterior o posterior, se puede sustituir la función today() por una macro variable que contenga una fecha o rango específico, etc….. Espero que les sirva de ayuda.
SASludos,
Alberto