Découvrez le cours de novembre 2022 : Les fonctions put et input – un sujet épineux
Aujourd’hui j’aimerais vous présenter un informat destiné aux dates qui est apparu avec la version 9 de SAS : ANYDTDTE.
La manière dont est écrite une date est très variable et le nombre d’informat pour pourvoir entrer ces dates dans une table SAS est aussi large que le nombre de manière d’écrire une date. Du coup, difficile de se souvenir du nom de chacun des informats lorsqu’on rencontre une structure différente de son habitude de manière occasionnelle. Le passage par la documentation de SAS est quasiment obligé.
L’informat ANYDTDTE regroupe plusieurs informats sous sa coupole pour vous faciliter ce travail de mémorisation. Illustration.
1. Présentation de trois informats : DATE9., DDMMYY10. et ANYDTDTE.
De manière classique un informat reconnait une structure particulière.
- L’informat DATE9 reconnait une date écrite sous la forme DDMMMYYYY (15APR2007).
- L’informat DDMMYY10. reconnait les dates de la forme DD/MM/YYYY (15/04/2007).
L’informat ANYDTDTE vous permettra de retrouver les deux structures et plus encore.
2. Un exemple
Dans cet exemple la date est écrite de deux manières différentes. Deux choix s’offrent à vous :
- informat date1 ddmmyy10. date2 date9.;
- informat date1 date2 anydtdte.;
Dans le premier cas, vous identifiez de manière précise la structure de chacune des dates et appliquez l’informat de votre choix.
Dans le second cas, vous laissez SAS identifiez la structure des deux dates parmi une liste de 8 informats : DATE, DATETIME, DDMMYY, JULIAN, MMDDYY, MONYY, TIME, YYMMDD ou YYQ.
data event;
informat date1 date2 anydtdte.;
*informat date1 ddmmyy10. date2 date9.;
format date1 date2 date9.;
input event date1 date2;
datalines;
1 15/04/2007 15APR2007
1 20/10/2007 20OCT2007
3 11/02/2007 11FEB2007
4 14/11/2007 14NOV2007
8 15/02/2007 15FEB2007
9 28/01/2007 28JAN2007
17 15/01/2007 15JAN2007
17 30/04/2007 30APR2007
19 12/08/2007 12AUG2007
19 25/08/2007 25AUG2007
20 21/02/2007 21FEB2007
;
run;
proc print data=event;
run;
Lecture complémentaire
- Créer une date de 3 manières
- Ajouter une date dans un nom de fichier Excel, Word…
- 23:59:59 et 23:59:60 avant minuit : pas pour SAS
- Créer une variable numérique à partir d’une variable caractère (fonction INPUT avec point d’interrogation)
- Parler français : représenter un nombre 100 987,24
- Parler français : les heures sous la forme 9h30
Lecture complémentaire sur la documentation en ligne de SAS
SAS Online Doc >Base SAS > SAS Language Reference : Dictionary > Dictionary of Language Elements > Informats
- ANYDTDTEw. Informat
- DDMMYYw. Informat
- DATEw. Informat
Aller plus loin
Découvrez le cours de novembre 2022 : Les fonctions put et input – un sujet épineux