top of page

SAISIE MANUELLE DES DONNÉES

Pour rentrer manuellement des données dans une table, on utilise les instructions CARDS ou DATALINES dans une étape DATA.

Les données doivent être séparées par un espace. Si une valeur est manquante, il est impératif de l'indiquer par un point.

DATA table1;

INPUT nom $ prenom $ age;

CARDS; /* CARDS; indique à SAS que le début du pseudo fichier va commencer à la ligne suivante. */

Thibault Lanthiez 18

Jean Philippe .

Paul Dupond 30

; /* Le point virgule indique la fin du pseudo fichier. */

RUN;

SAS a seulement trois types de données : caractère (textuelle), numérique ou date.

- Les variables textuelles doivent être suivies du signe $.

- Les dates doivent être suivies de leur informat. Il faut préciser la position des jours (dd), des mois (mm) et des années (yy) après le nom de la variable (exemple : ddmmyy6. (année à 2 chiffres) ddmmyy8. (année à 2 chiffres avec des /) ou ddmmyy10. (année à 4 chiffres avec de /)).

Pour choisir le bon informat, il faut regarder comment sont présentées les dates dans le fichier.

Puis avec la commande FORMAT, il faut préciser dans quel format on veut que SAS affiche la date. Ça peut être n'importe quel format (ddmmyy10. , mmddyy10. , ddmmyy8. , etc ...).

Si on ne précise pas de format, SAS transformera la date en nombre de jours depuis le 1er janvier 1960.

- Il n'y a pas besoin de symbole ou d'informat pour les variables numériques.

Pour que SAS lise correctement les données, on doit donc lui indiquer le nom et le type des variables (grâce aux informats) dans l'instruction INPUT. Puis les formats (s'il y en a) dans l’instruction FORMAT.

DATA table1;

INPUT nom $ date ddmmyy10. age; /* La variable nom est de type textuelle donc elle est suivie du symbole $. La variable date est de type date donc elle est suivie de son informat. La variable age est de type numérique donc elle n'a pas besoin de symbole ou de informat. */

FORMAT date mmddyy8. ; /* Avec INPUT, on a indiqué comment SAS doit lire les données (grâce à des informats). Maintenant, avec le FORMAT, on indique comment SAS doit afficher la variable de type date */

CARDS;

Lanthiez 24/06/1999 18

Bisson 30/12/1800 218

Dupond 25/01/2012 30

Martin 14/07/1965 15

;

RUN;

SAS lit les données en colonne. Pour que SAS lise les données en ligne, on utilise les symboles @@ (à la fin du INPUT).

DATA table1;

INPUT nom $ date ddmmyy10. age @@;

FORMAT date mmddyy8. ;

CARDS;

Lanthiez 24/06/1999 18 Bisson 30/12/1800 218

Dupond 25/01/2012 30 Martin 14/07/1965 15

;

RUN;

Une variable de type textuelle sera lue jusqu'au 8ème caractère. Si une variable contient plus de 8 caractères elle sera donc tronquée.

Pour que SAS lise au-delà de 8 caractères, deux options s'offrent à vous :

- la variable contient exactement n caractères, on utilise l'informat $n.

- la variable contient au plus n caractères, on utilise l'informat :$n.

DATA table1;

INPUT nom :$10. prenom :$10. age; /* Il vaut mieux utiliser l'informat avec les deux points (:$n.) car il évite de compter les caractères et il offre donc plus de flexibilité. */

CARDS;

Thibault Lanthiez 18

Jean-Luc Philippe .

Paul Dupond 30

;

RUN;

bottom of page