Publié le :
ETL CREATION_INTERNE

Modification de jeux de données SAS

Ce code est également disponible en : Deutsch English Español
En attente de validation
Attention : Ce code nécessite des droits administrateur.
Cet exemple détaille l'utilisation de la procédure DATASETS pour gérer et modifier les attributs des jeux de données SAS©. Il inclut la création d'un index composite pour améliorer les performances de recherche, l'application de formats et d'informats, l'attribution d'étiquettes significatives aux variables et aux jeux de données, la définition d'un ordre de tri et l'ajout de sécurité via un mot de passe de lecture. L'objectif est de démontrer une gestion complète et autonome des métadonnées et de la structure des jeux de données sans dépendances externes.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines).

1 Bloc de code
PROC DATASETS Data
Explication :
Le programme commence par définir les options système (pagesize, linesize, nodate, pageno, source) et attribue la bibliothèque 'health' à un chemin de système de fichiers. Deux jeux de données fictifs, 'group' et 'oxygen', sont ensuite créés dans cette bibliothèque pour simuler des données de test.

La procédure DATASETS est ensuite invoquée avec l'option NOLIST pour éviter l'affichage de l'inventaire de la bibliothèque. L'instruction MODIFY est utilisée pour le jeu de données 'group' afin de lui ajouter l'étiquette 'Test Subjects', de lui attribuer un mot de passe de lecture 'green' et de spécifier qu'il est trié par 'lname'. Un index composite nommé 'vital' est créé sur les variables 'birth' et 'salary', garantissant des valeurs uniques et excluant les observations manquantes. Les formats et informats pour la variable 'birth' sont définis, et une étiquette détaillée est attribuée à la variable 'salary'.

Pour le jeu de données 'oxygen', l'instruction MODIFY est utilisée pour renommer la variable 'oxygen' en 'intake' et lui attribuer une étiquette descriptive. La procédure se termine par l'instruction QUIT.
Copié !
1options pagesize=40 linesize=80 nodate pageno=1 SOURCE;
2 
3LIBNAME health 'SAS-library';
4 
5/* Création de jeux de données fictifs pour l'exemple */
6DATA health.group;
7 INPUT lname $ birth :date7. salary;
8 FORMAT birth date7.;
9 DATALINES;
10Smith 01JAN80 50000
11Jones 15MAR85 60000
12Brown 20APR75 55000
13;RUN;
14 
15DATA health.oxygen;
16 INPUT oxygen;
17 DATALINES;
1810
1912
2011
21;RUN;
22 
23PROC DATASETS library=health nolist;
24 modify group (label='Test Subjects' read=green sortedby=lname);
25 index create vital=(birth salary) / nomiss unique;
26 informat birth date7.;
27 FORMAT birth date7.;
28 label salary='current salary excluding bonus';
29 modify oxygen;
30 rename oxygen=intake;
31 label intake='Intake Measurement';
32QUIT;
33 
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.
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« Prenez l'habitude de terminer vos blocs PROC DATASETS par une instruction QUIT; et non seulement RUN;. Comme c'est une procédure interactive, elle reste "active" en mémoire tant qu'elle ne reçoit pas l'ordre explicite de quitter, ce qui pourrait bloquer l'exécution de certaines étapes suivantes dans des scripts complexes. »