Obtener la edad de una persona en SAS.

Programacion SAS 1

Hay un dicho que dice "hay mil formas de desplumar un pollo", lo que significa que las cosas no tienen una solución única. La mayoría de los lenguajes de programación tiene funciones para resolver problemas típicos, pero no significa que tienes que conocer todas esas funciones para solucionar algún problema.

Durante años en el trabajo hemos calculado la edad de una persona de la formas más sencilla que puedas imaginar (Año de Nacimiento - Año Actual), evidentemente es una manera rápida y fácil de comprender que aporta valores "correctos" en la mayoría de los casos. El lenguaje de programación SAS cuenta con las funciones como INTKC, INTNX y YRDIF para hacer algunos cálculos con fechas.

La función YRDIF devuelve como resultado el numero decimal correspondiente a la cantidad proporcional de años que han transcurrido entre dos fechas, por ejemplo 24.837468, si esto te resulta un poco incomodo recuerda que puedes truncar, redondear u obtener la parte entera del numero de muchas formas.

 

Ejemplos y Sintaxis de la Función YRDIF en SAS.

DATA Ejemplo;
    Fecha1 = '10MAY1980'd;
    Fecha2 = '09MAY2016'd;
       y30360  = yrdif(Fecha1, Fecha2, '30/360');
       yactact = yrdif(Fecha1, Fecha2, 'ACT/ACT');
       yact360 = yrdif(Fecha1, Fecha2, 'ACT/360');
       yact365 = yrdif(Fecha1, Fecha2, 'ACT/365');
       Sencillo = YEAR(Fecha2)-YEAR(Fecha1);
        IF (MONTH(Fecha2) = Month(Fecha1) AND DAY(Fecha2) >= DAY(Fecha1)) OR MONTH(Fecha2) > Month(Fecha1)
            THEN Real = YEAR(Fecha2)-YEAR(Fecha1);
            ELSE Real = (YEAR(Fecha2)-YEar(Fecha1))-1;
RUN; 

Recuerda que la programación avanzada no existe, solo es el dominio de lo básico dispuesto de formas que pocos imaginan.

 

¿Como calcularías la edad de una persona?