Ce script illustre la maîtrise du duo incontournable de l'arithmétique calendaire sous SAS : INTCK et INTNX. L'expert notera que INTCK ne se contente pas de mesurer une durée brute, mais compte le nombre de frontières temporelles traversées (essentiel pour le reporting fiscal ou l'ancienneté). À l'inverse, INTNX est l'outil de projection par excellence, capable de calculer des échéances lointaines (comme une retraite) en gérant nativement les complexités du calendrier, telles que les années bissextiles, sans formule mathématique manuelle
Type : CREATION_INTERNE
Les données sont générées statiquement dans le code à l'aide de littéraux de date (ex: '24NOV1996'd).
| 1 | DATA intervals; |
| 2 | birthdate = '24NOV1996'd; |
| 3 | yrs = intck('year',birthdate,'29Sep2006'd); |
| 4 | months = intck('month',birthdate,'29Sep2006'd); |
| 5 | weeks = intck('week',birthdate,'29Sep2006'd); |
| 6 | qtrs = intck('qtr',birthdate,'29Sep2006'd); |
| 7 | put _all_; |
| 8 | RUN; |
| 1 | DATA increment; |
| 2 | birthdt = '22oct91'd; |
| 3 | retirement = intnx('year',birthdt,60); |
| 4 | FORMAT birthdt retirement date9.; |
| 5 | RUN; |