Chaque variable possède les attributs suivants :
Attributs obligatoires :
Attributs facultatifs :
Les formats numériques s'appliquent aux variables de type numérique.
Le format n. indique que la variable numérique sera lue / écrite sur n caractères.
Le format n.d indique que la variable numérique sera lue / écrite sur n caractères dont d décimales.
Le format Zn. force l'écriture sur n caractères en complétant à gauche par des 0.
Les formats caractères s'appliquent aux variables de type caractère, et commencent par un "$".
Le format $n. indique que la variable caractère sera lue / écrite sur n caractères.
En SAS, une date est une variable numérique qui représente le nombre de jours écoulés depuis une certaine date de référence interne au système. Afin de rendre les valeurs plus parlantes, on peut appliquer un des formats prédéfinis suivants (il en existe d'autres) :
Format | Exemple avec le 14 janvier 2005 |
---|---|
DATE9. | 14JAN2005 |
YYMMDD8. | 05-01-14 |
DDMMYY8. | 14/01/05 |
L'utilisateur peut définir ses propres formats et informats grâce à la procédure
PROC FORMAT (voir le paragraphe consacré dans la partie "Etape PROC").
La définition de formats s'avère particulièrement utile lorsqu'on souhaite faire du
regroupement de modalités sans modifier les valeurs d'origine.
Note : Tous les formats se terminent par un ".".
Dans la fenêtre de visualisation de la table (que l'on obtient en double cliquant sur une table dans la fenêtre Explorer), il suffit de faire un clic droit sur l'en-tête de la colonne dont on désire connaître les attributs, puis de choisir "Column Attributes".
Vous pouvez aussi retrouver tous les attributs de toutes les variables d'une table en visualisant les propriétés de la table. Deux méthodes :
Dans une étape DATA, on utilise l'instruction ou l'option RENAME :
Ces deux programmes ont pour effet de créer une table destination qui est la copie de la table source, la variable old ayant été renommée en new. Dans ce cas très simple, le choix d'utiliser l'instruction ou l'option est transparent. On verra plus loin que ce n'est pas toujours le cas.
A l'intérieur d'une étape DATA, on utilise l'instruction LENGTH :
Définit pour la variable de nom mavariable une longueur de stockage de n caractères.
Dans le cas d'une variable caractère, on ajoute un $ entre le nom de la variable et le
nombre de caractères n.
Cette instruction ne peut pas être appliquée à une variable déjà existante !
Si l'on souhaite modifier la longueur de stockage d'une variable existante, il faut
définir une nouvelle variable de la longueur voulue, puis affecter les valeurs de
l'ancienne variable à cette nouvelle variable.
Exemple :
Une variable est définie dès le départ comme étant d'un certain type : caractère ou numérique.
Cet attribut n'est pas destiné à être modifié. Si l'on souhaite tout de même le faire, il faut,
comme précédemment, passer par une nouvelle variable.
Supposons comme exemple que la table source contienne une variable varchar, de type caractère,
de longueur de stockage 4, que l'on souhaite transformer en une variable numérique.
On écrit le programme suivant :
A l'intérieur d'une étape DATA, on utilise simplement l'instruction LABEL :
Cette instruction applique le label "ceci est mon label" à la variable mavariable. Si la variable avait déjà un label, il est écrasé par le nouveau.
A l'intérieur d'une étape DATA, on utilise l'instruction FORMAT :
Cette instruction applique le format monformat à la variable mavariable.
Monformat doit être reconnu comme un nom de format valide, soit un format prédéfini,
soit un format défini par l'utilisateur. En particulier, ne pas oublier le . à la fin.
L'instruction INFORMAT s'utilise selon la même syntaxe.
L'instruction FORMAT s'utilise aussi au sein d'une étape PROC. Dans ce cas, le format de la variable n'est pas modifié au sein de la table, mais affecte uniquement le traitement en cours. Sur ce sujet, on se reportera au paragraphe consacré à la PROC FORMAT, partie "Etape PROC".