Le Problème L'ancienne méthode pour calculer un âge consistait à soustraire la date de naissance de la date actuelle, puis à diviser par 365,25. Malheureusement, cette méthode manque de précision à cause de la gestion des années bissextiles.
La Solution Utilisez la fonction YRDIF introduite dans SAS 9 et améliorée depuis SAS 9.3.
2
3
4
5
set Demographic;
Age_Exact = yrdif(DOB,'01jan2012'd);
Age_Last_Birthday = int(Age_Exact);
run;
En Bref
- La fonction
YRDIFprend en compte la date la plus ancienne puis la plus récente pour calculer l'écart exact. - Depuis SAS 9.3, la fonction gère correctement l'âge par défaut sans avoir à spécifier d'arguments supplémentaires.
- La fonction
INTvous permet de tronquer le résultat pour obtenir l'âge au dernier anniversaire.






