
Deux manières de créer un data set vide
juillet 2, 2009Dans un précédent article Copier la structure d’un data set et se séparer des données, nous avons vu comment récupérer la structure d’une table (data set) de référence, c’est-à-dire copier les caractéristiques des variables sans les données. Ici, vous verrez comment créer un data set, appelé EMPTY, sans données et sans se baser sur un data set de référence.
L’intérêt est de souvent de pouvoir ensuite empiler des data sets ayant des longueurs de variables. En effet la longueur d’une variable rencontrée dans le premier data set sera la longueur de référence. Il ne faut pas qu’elle soit plus petite que celle du data set suivant. Autrement le texte des observations d’après est coupé (truncated).
1. Avec une étape data
Au choix, vous avez l’instruction ATTRIB ou les différentes instructions LABEL, LENGTH, FORMAT, INFORMAT pour créer les variables du data set.
data empty;
attrib var_text label=‘Var. caractère, longueur 20’ length=$20
var_num_dt label=‘Var. numérique, longueur 8’ format=date9.;
stop;
run;
Dans la log, SAS précisera qu’aucune valeur n’a été donné aux variables VAR_TEXT et VAR_NUM_DT.
NOTE: Variable var_text is uninitialized.
NOTE: Variable var_num_dt is uninitialized.
2. Créer un data set vide avec la procédure SQL
La procédure SQL
proc sql;
create table empty
(
var_text char(20) label=‘Var. caractère, longueur 20’ ,
var_num_dt num label=‘Var. numérique, longueur 8’ format=date9.
);
quit;
3. Voir le résultat
J’ai choisi d’ajouter l’option VARNUM à la procédure PROC CONTENTS pour afficher les données dans l’ordre
proc contents data=empty varnum;
run;
La variable VAR_TEXT apparaît en premier. Il s’agit d’une variable alphanumérique de longueur 20 sans format et ayant pour libellé : Var. caractère, longueur 20.
La seconde variable VAR_NUM_DT est numérique, de longueur 8. Le format DATE9 est appliqué dessus de manière permanente. Le libellé de cette variable est : Var. numérique, longueur 8.
The CONTENTS Procedure
Variables in Creation Order
# Variable Type Len Format Label
1 var_text Char 20 Var. caractère, longueur 20
2 var_num_dt Num 8 DATE9. Var. numérique, longueur 8
Lectures complémentaires
- Copier la structure d’un data set et se séparer des données
- Changer la longueur d’une variable avec PROC SQL (instruction ALTER)
- Mettre à jour une table SAS à partir des métadonnées
- Changer la séquence d’affichage des variables
- Modifier un data set sans le lire (formater, renommer, libeller)
- Empiler des data sets
- 9 points autour de la notion d’octet
[…] Deux manières de créer un data set vide […]