
Retrouver la semaine avec la fonction WEEK
septembre 28, 2014A partir d’une date SAS, le numéro de la semaine est extrait avec la fonction WEEK. Cette fonction est composée de deux paramètres: la date SAS obligatoire et une lettre entre guillemets (‘U’,’V’ ou ‘W’) facultative. Ne pas mettre de lettre revient à choisir l’option ‘U’.
Les questions à se poser
La première question à se poser est : le premier jour de la semaine est-il un dimanche ou un lundi ?
La seconde question à se poser est : si le 1er janvier est en semaine, est-ce en semaine 0 ou la semaine 1 ?
Illustration de la fonction WEEK avec un exemple.
Prenons l’exemple de la première semaine de janvier 2015.
- Jeudi 1er janvier
- Vendredi 2 janvier
- Samedi 3 janvier
- Dimanche 4 janvier
- Lundi 5 janvier
- Mardi 6 janvier
Le premier jour de la semaine est un dimanche avec la lettre U. Le 1er janvier sera en semaine zéro.
Tandis que les options V et W considèrent le lundi comme le premier jour de la semaine.
- Avec l’option V, le 1er janvier sera en semaine 1
- Avec l’option W, le 1er janvier sera en semaine 0
Tester avec du code SAS
data one; today='01JAN2015'd; output; today='02JAN2015'd; output; today='02JAN2015'd; output; today='02JAN2015'd; output; today='02JAN2015'd; output; today='02JAN2015'd; output; today='02JAN2015'd; output; run; data one; set one; week=week(today); weeku=week(today,'U'); weekv=week(today,'V'); weekw=week(today,'W'); run; proc print data=one; format today date9.; run;
Avec les fonctions SAS, il est important de garder en mémoire que le premier jour de la semaine par défaut est le dimanche et non le lundi. Ainsi la fonction WEEKDAY est également touchée par cette règle. Elle donnera un 1 pour le dimanche et un 2 pour le lundi.
Votre commentaire