PROC DATASETS : Comment modifier vos tables SAS sans réécrire les données

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Débutant
Publié le :
Stéphanie

Le Conseil de l'Expert

Stéphanie
Spécialiste Machine Learning et IA.

Prenez l'habitude d'utiliser PROC DATASETS pour vos opérations de maintenance (renommage, suppression d'index, modification de formats). C'est un gain de temps machine considérable par rapport à un DATA step, car vous évitez toutes les entrées/sorties (I/O) inutiles sur le disque.

Ce document détaille les étapes pour modifier deux jeux de données SAS©, 'group' et 'oxygen'. Les tâches spécifiques incluent :
  • L'ajout d'un libellé à un jeu de données.
  • L'attribution d'un mot de passe de lecture ('Read password') à un jeu de données.
  • La spécification de la manière dont les données sont triées.
  • La création d'un index composite ('VITAL') sur les variables BIRTH et SALARY pour le jeu de données 'group', avec des options pour exclure les observations avec des valeurs manquantes (NOMISS) et garantir l'unicité (UNIQUE).
  • L'affectation de formats et d'informats aux variables.
  • Le renommage de variables dans un jeu de données (par exemple, 'oxygen' en 'intake').
  • L'attribution de libellés aux variables.
Analyse des données

Type : SAS_LIBRARY


Les exemples utilisent des jeux de données stockés dans une bibliothèque SAS ('health') qui doit être définie (LIBNAME).

1 Bloc de code
OPTIONS, LIBNAME
Explication :
Définit les options système pour le log SAS (taille de page, taille de ligne, suppression de la date, numéro de page de départ, affichage du code source) et assigne le libname 'health' à une bibliothèque SAS.
Copié !
1options pagesize=40 linesize=80 nodate pageno=1
2SOURCE;
3LIBNAME health 'SAS-library';
4 
2 Bloc de code
PROC DATASETS
Explication :
Démarre la procédure DATASETS en spécifiant 'health' comme bibliothèque d'entrée et supprime l'affichage de la liste des répertoires (NOLIST).
Copié !
1PROC DATASETS library=health nolist;
3 Bloc de code
MODIFY (DATASETS)
Explication :
Modifie le jeu de données 'group' : attribue l'étiquette 'Test Subjects', définit 'green' comme mot de passe de lecture et spécifie 'lname' comme variable de tri.
Copié !
1modify group (label='Test Subjects' read=green sortedby=lname);
2 
4 Bloc de code
INDEX CREATE (DATASETS)
Explication :
Crée un index composite nommé 'vital' sur les variables 'birth' et 'salary'. L'option NOMISS exclut les observations avec des valeurs manquantes. L'option UNIQUE garantit que chaque combinaison de valeurs est unique.
Copié !
1index create vital=(birth salary) / nomiss unique;
2 
5 Bloc de code
INFORMAT, FORMAT, LABEL (DATASETS)
Explication :
Applique l'informat et le format 'date7.' à la variable 'birth'. Attribue l'étiquette 'current salary excluding bonus' à la variable 'salary'.
Copié !
1informat birth date7.;
2FORMAT birth date7.;
3label salary='current salary excluding bonus';
4 
6 Bloc de code
MODIFY, RENAME, LABEL (DATASETS)
Explication :
Modifie le jeu de données 'oxygen' : renomme la variable 'oxygen' en 'intake' et attribue l'étiquette 'Intake Measurement' à la nouvelle variable. L'instruction QUIT termine la procédure DATASETS.
Copié !
1 modify oxygen;
2 rename oxygen=intake;
3 label intake='Intake Measurement';
4QUIT;
L'Astuce Pro
Pour optimiser le traitement de vos tables volumineuses, utilisez l instruction MODIFY de la PROC DATASETS car elle permet de renommer des colonnes ou de modifier des formats et libelles directement dans l en-tete du fichier (descripteur), ce qui evite une reecriture complete des donnees et s execute de maniere instantanee quelle que soit la taille du jeu de donnees.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved


Documentation liée

Aucune documentation spécifique pour cette catégorie.