Publié le :
Reporting SASHELP

Génération d'exemples de styles ODS

Ce code est également disponible en : Deutsch English Español
Ce script récupère la liste de tous les styles ODS disponibles via la procédure TEMPLATE en redirigeant la sortie vers un catalogue temporaire. Il parcourt ensuite cette liste via une étape DATA et utilise CALL EXECUTE pour générer dynamiquement un rapport HTML (basé sur PROC MEANS et sashelp.class) pour chaque style identifié. Note : Le chemin de sortie est configuré pour un environnement Windows ('c:\ODS_test\').
Analyse des données

Type : SASHELP


Utilise la table 'sashelp.class' pour la génération des rapports et les métadonnées internes de SAS (PROC TEMPLATE) pour la liste des styles.

1 Bloc de code
DATA STEP
Explication :
Commande spécifique à l'interface 'Display Manager' (PC SAS) pour effacer les journaux et la sortie. Peut être ignorée ou générer une erreur sous SAS Viya/Studio selon la configuration.
Copié !
1dm 'log; clear; output; clear';
2 Bloc de code
PROC PRINTTO
Explication :
Définit un catalogue temporaire comme destination de fichier. Redirige la sortie standard (PRINT) vers ce catalogue, exécute PROC TEMPLATE pour lister les styles (ce qui écrit la liste dans le catalogue), puis rétablit la sortie standard.
Copié !
1filename list catalog 'work.temp.temp.source' ;
2 
3PROC PRINTTO PRINT=list new ;
4RUN;
5 
6ODS listing;
7 
8PROC TEMPLATE ;
9 list styles ;
10RUN ;
11 
12ODS listing close;
13 
14PROC PRINTTO ;
15RUN;
3 Bloc de code
DATA STEP
Explication :
Lit le fichier contenant la liste des styles. Pour chaque style trouvé, utilise CALL EXECUTE pour générer et exécuter dynamiquement du code SAS qui : 1) Ouvre une destination ODS HTML avec le style spécifié, 2) Exécute une PROC MEANS sur sashelp.class, 3) Ferme la destination ODS.
Copié !
1DATA _null_ ;
2 LENGTH style $ 17 ;
3 INFILE list missover ;
4 INPUT @'Styles.' style ;
5 IF style>' ' ;
6
7 * create a folder for the files, then change the drive/folder below;
8 
9 call execute('ods html file="c:\ODS_test\'||strip(style)||'.html" style='||style||';') ;
10 call execute('title "'||style||'";') ;
11 call execute('proc means data=sashelp.class maxdec=2; run ;') ;
12 call execute('ods html close'||';') ;
13RUN ;
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 : modified by Elizabeth A. Swoope, Louisiana State University