Bonjour.
J’aurais souhaité afficher une date sous la forme suivante : Janvier 2005 (en français, mais sans le numéro du jour).
D’avance merci.
Bonjour.
Si vos données sont sous forme de dates SAS, vous pouvez utiliser :
- les formats « français » de dates de SAS, comme FRADFWDX. qui afficherait 01 janvier 2005 ;
- un format de type particulier, appelé PICTURE, créé par la procédure FORMAT. Dans le cas de votre demande, c’est ce qu’il convient d’utiliser :
PROC FORMAT ; PICTURE testDate LOW - HIGH = '%B %Y' (DATATYPE = DATE) ; RUN ;
Dans cette syntaxe, l’option DATATYPE = DATE permet de spécifier le type de données lues. On peut également avoir deux autres valeurs, TIME et DATETIME.
Les éléments %Y, %B qui composent la valeur affichée sont des mots-clés reconnus de la procédure FORMAT. Les principaux éléments sont :
- %a = jour de la semaine en français sur 3 lettres
- %A = jour de la semaine en français
- %b = mois sur 3 lettres en français
- %B = mois en français
- %d = jour du mois sans zéro initial
- %0d = jour du mois sur deux chiffres
- %j = jour de l’année (de 1 à 366)
- %m = mois (1 à 12) sans zéro initial
- %0m = mois sur deux chiffres
- %0y = année sur deux chiffres
- %Y = année sur quatre chiffres
Enfin, il est recommandé d’employer des apostrophes et non des guillemets autour de la valeur formatée afin d’éviter toute intervention du compilateur macro.