Annexes : PROC DATASETS, PROC TRANSPOSE
- Gérer les fichiers SAS avec la PROC DATASETS
- Transposer une table avec la PROC TRANSPOSE
1. La PROC DATASETS
La procédure DATASETS permet de gérer des fichiers SAS : faire des copies, des suppressions, des modifications d'attributs, la création d'index. Sont présentées ici les principales fonctionnalités, avec des exemples concrets.
Lister les attributs d'une table.
proc datasets lib = librairie ;
contents data = table ;
run ;
Exemple : écrire dans l'output les attributs de la librairie WORK et de la table MATABLE.
proc datasets lib = work ;
contents data = matable ;
run ;
Exemple : écrire dans l'output les attributs de la librairie WORK et de toutes les tables de cette dernière.
proc datasets lib = work ;
contents data = _all_ ;
run ;
Exemple : écrire dans l'output les attributs de la librairie WORK et de la table MATABLE, les attributs étant également générés sous forme de tables (attr1 et attr2). La table de sortie attr2 contient les informations sur les index et contraintes d'intégrité.
proc datasets lib = work ;
contents data = matable out = attr1 out2 = attr2 ;
run ;
Supprimer des tables SAS.
proc datasets lib = librairie memtype = data ;
delete liste_de_tables ;
run ;
Exemple : supprimer les tables TAB1 et TAB2 qui se trouvent dans la librairie WORK.
proc datasets lib = work memtype = data ;
delete tab1 tab2 ;
run ;
L'instruction SAVE permet de conserver une liste de tables et de supprimer toutes les autres tables non listées.
proc datasets lib = librairie memtype = data ;
save liste_de_tables ;
run ;
Exemple : supprimer toutes les tables d'une librairie.
proc datasets lib = librairie kill memtype = data ; quit ;
Exemple : supprimer toutes les tables de la librairie WORK sauf TAB1 et TAB2.
proc datasets lib = work memtype = data ;
save tab1 tab2 ;
run ;
2. Transposer un tableau avec la PROC TRANSPOSE
Dans son expression la plus simple, la PROC TRANSPOSE transpose une table, c'est-à-dire transforme les lignes en colonnes. La force de la PROC TRANSPOSE est de pouvoir ne transposer qu'une partie des observations. Elle ne génère aucune sortie dans l'OUTPUT.
PROC TRANSPOSE data = <options> ;
VAR liste_de_variables ;
BY variable ;
COPY liste_de_variables ;
ID variable ;
run ;
Les options :
| Option | Effet |
|---|---|
| out = | Définit une table en sortie différente de la table prise en entrée |
| name = | Renomme la variable _name_ dans le tableau transposé, variable qui contient le nom de la ou des variables transposées |
| prefix = | Définit un préfixe pour les noms des nouvelles variables du tableau |
Les instructions :
| Instruction | Effet |
|---|---|
| VAR | Fournit la liste des variables qui vont être transposées. Ces variables n'existent plus dans le tableau en sortie, et leurs valeurs sont réparties dans les cases appropriées du nouveau tableau |
| BY | Définit l'identifiant de l'individu. Chaque modalité de cet identifiant correspondra à une ligne du tableau final |
| ID | Définit la variable dont les modalités doivent définir les nouvelles variables du tableau |
| COPY | Définit les variables qui sont recopiées telles quelles dans le tableau final |
Couleur de fond
Police
Crénage de la police
Visibilité de l’image
Hauteur de ligne
Surbrillance de lien
Alignement du texte
Taille de police
Espacement des lettres
Couleur de texte
Largeur de paragraphe