Publié le :
Macro MIXTE

Afficher les métadonnées des variables d'un dataset

Ce code est également disponible en : Deutsch English Español
Cette macro parcourt une liste de datasets spécifiés par l'utilisateur. Pour chaque dataset, elle exécute une `PROC CONTENTS` pour extraire les métadonnées des variables (nom, type, format) dans une table de sortie. Ensuite, elle imprime cette table de résultats à l'aide d'une `PROC PRINT`. Les paramètres permettent de spécifier la liste des tables, la bibliothèque (par défaut 'work') et le nom de la table de sortie.
Analyse des données

Type : MIXTE


La macro est une macro utilitaire conçue pour fonctionner avec n'importe quel dataset SAS, qu'il provienne de la bibliothèque SASHELP (comme dans les exemples), qu'il soit créé en interne (via datalines) ou qu'il soit importé d'une source externe.

1 Bloc de code
MACRO
Explication :
La macro 'contents' prend en paramètres une liste de tables ('datasets'), une bibliothèque ('lib', par défaut 'work') et une table de sortie ('outds'). Elle boucle sur chaque table de la liste en utilisant %DO et %SCAN. Pour chaque table, elle exécute `PROC CONTENTS` pour extraire les métadonnées des variables. L'instruction `ODS OUTPUT` redirige la table 'Variables' de PROC CONTENTS vers le dataset de sortie spécifié par `&outds`. La sortie standard de PROC CONTENTS est supprimée via `ODS LISTING CLOSE`. Finalement, `PROC PRINT` est utilisée pour afficher le contenu du dataset de résultats.
Copié !
1%macro contents(datasets, lib=work, outds=tmp);
2 
3 * Count the number of datasets provided and start the loop;
4 %DO i = 1 %to %sysfunc(countw(&datasets));
5 
6 * Extract the i-th dataset from the list;
7 %let dsn = %scan(&datasets, &i);
8 
9 * Outputting to the log file;
10 %put Checking contents of the dataset &i.;
11
12 * Suppress printing to the listings;
13 ods listing close;
14 PROC CONTENTS order=casecollate DATA=&lib..&dsn;
15 
16 * Output the dataset;
17 ods OUTPUT Variables=&outds (keep=Num Variable Type FORMAT);
18 RUN;
19 ods listing;
20 
21 * Print the dataset;
22 PROC PRINT DATA=&outds;
23 RUN;
24 %END;
25 
26 %mend contents;
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 : Luke W Johnston, 2014-10-08