chapitre 4 la generation de sorties sas avec les ods
Post on 18-Jun-2022
1 Views
Preview:
TRANSCRIPT
Chapitre 4 LA GENERATION DE SORTIES SAS
AVEC LES ODS
Documentation SAS : http://support.sas.com/rnd/base/ods/
M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE Université Paris 1 Panthéon Sorbonne
1
2M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
SOMMAIRE
3M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
I – ODS : Les principes
I – ODS : Les principes
4M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Les principes
• Les destinations ODS
• La syntaxe
ODS destination CLOSE ;
ODS _ALL_ CLOSE;
5M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
II – ODS HTML
II – ODS HTML
6M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• La syntaxe
ODS HTML BODY="fichier-de-sortie.html";
<Procédure(s)>
ODS HTML CLOSE;
• Exemple 1.1 : Créer un fichier html « sortie1 » contenant les statistiques descriptives des prix par produit dans la table VENTES (proc means)
• Exemple 1.2 : Définir le chemin de stockage du fichier à l’aide de l’option PATH=.
• Exemple 1.3 : Modifier la procédure telle que l’on verra:
- moyenne, minimum, maximum
- pas de nombre de d'observation
- variable d'analyse CA
II – ODS HTML
7M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 1.4 : A l’aide d’instruction TITLE et/ou FOOTNOTE, créer le rapport HTML suivant :
• Exemple 1.5 : Faire plusieurs procédures dans une même sortie HTLM pour obtenir :
- Les ventes par région
- Les ventes par produit
- Le chiffre d’affaire par région
II – ODS HTML
8M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Les Styles
II – ODS HTML
9M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 1.6 : Remplacer l’instruction ODS HTML du précédent programme par celle-ci pour ajouter un style et une table des matière à votre sortie :
ODS HTML PATH=ODSOUT
BODY='sortie6_body.html'
STYLE=gears
CONTENTS='sortie6_contenu.html'
FRAME='sortie6_cadre.html'
NEWFILE=PROC;
II – ODS HTML
10M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Faciliter la navigation sur Internet
• Exemple 1.8 : Insertion d’un bouton pour revenir à la page précédente du site d’où l’on vient
ODS HTML BODY='sortie8.html'
PATH=ODSOUT
STYLE=default;
PROC FREQ DATA=sashelp.class;
TABLES sex*age;
FOOTNOTE1 "Retour vers le site d’où je viens";
FOOTNOTE2 '<INPUT TYPE="button" VALUE="Cliquer ici" onClick="history.
go(-1);"> ';
RUN;
ODS HTML CLOSE;
II – ODS HTML
11M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 1.9 : Introduire un ou plusieurs liens vers d’autres sites Internet
ODS HTML BODY='sortie9.html'
PATH=ODSOUT
STYLE=default;
PROC FREQ DATA=sashelp.class;
TABLES sex*age;
TITLE "Allons sur le site de la fac";
TITLE2 '<A HREF="http://www.univ-paris1.fr/">www.paris1.fr</A> <A></A>';
FOOTNOTE2 '<A HREF="http://www.sas.com">Site de SAS</A> <A></A>';
;RUN;
ODS HTML CLOSE;
II – ODS HTML
12M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 1.10 : Introduire l’envoi d’un email à une adresse spécifique
ODS HTML BODY='sortie10.html' PATH=ODSOUT STYLE=default;
PROC FREQ DATA=sashelp.class;
TABLES sex*age;
TITLE "Allons sur le site de la fac";
TITLE2 '<A HREF="http://www.univ-paris1.fr/">www.paris1.fr</A> <A></A>';
FOOTNOTE2 '<A HREF="http://www.sas.com">Site de SAS</A> <A></A>';
FOOTNOTE3 JUSTIFY=c '<A></A> Un commentaire : <A
HREF="mailto:test@test.fr?subject=bravo !">écrivez moi !</A>';
;RUN;
ODS HTML CLOSE;
13M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
III – ODS RTF
III – ODS RTF
14M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• La syntaxe
• Reprendre le format suivant :
PROC FORMAT;
VALUE $region N='Nord' C='Centre' B='Bretagne' L='Limousin';
VALUE $taille P='Petit' M='Moyen' G='Gros';
VALUE $produit A='Prod. A' B='Prod. B' C='Prod. C';
VALUE $client G='Gros' D='Détail';
RUN;
ODS RTF FILE= 'monfichier.rtf' PATH=ODSOUT;
< Prodédure(s)>
ODS RTF CLOSE;
III – ODS RTF
15M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 3.1 : Mettre la procédure ci-dessous dans un fichier .rtf
PROC MEANS DATA=APPSAS.ventes NONOBS SUM;
CLASS produit;
VAR ca;
RUN;
• Exemple 3.2: Créer 2 sorties, une html et une rtf contenant la procédure ci-dessous, en appliquant le
format donné à la variable produit.
III – ODS RTF
16M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• La gestion des grands tableaux
ODS RTF FILE='sortie_3_3.rtf' PATH=ODSOUT;
PROC FREQ DATA=APPSAS.ventes;
FORMAT produit $produit.;
TABLES vente;
RUN;
ODS RTF CLOSE;
Exemple 3.4 : Utiliser l’ODS HTML en modifiant l’extension du fichier générer pour obtenir un fichier excel
ODS HTML FILE='sortie_3_4.xls' PATH=ODSOUT;
PROC FREQ DATA=APPSAS.ventes;
FORMAT produit $produit.;
TABLES vente;
RUN;
ODS HTML CLOSE;
17M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
IV – ODS PDF
IV – ODS PDF
18M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
28
Copy r ight © 2014, SAS Insti tute I nc . All r i ghts r eserved.
PRINTER Destinations
28
ods ps file="&path2\r106d04.ps";ods pcl file="&path2\r106d04.pcl";
ods pdf file="&path2\r106d04.pdf";
r106d04
IV – ODS PDF
19M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 4.1 : Insérer la procédure suivante dans une sortie PDF PROC FREQ DATA=APPSAS.ventes;
FORMAT produit $produit.;
TABLES produit / NOPERCENT NOCUM;
RUN;
• Options pour les ODS PDF :
NOTOC
STARTPAGE=NEVER/NO/NOW/YES
Lire le document suivant pour les options complémentaires : http://support.sas.com/rnd/base/ods/odsprinter/PDF-tips.pdf
20M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
V – Options et instructions utiles à tous les ODS
NEWFILE = NONE | PROC | OUTPUT | BYGROUP | PAGE
Date/Nodate
Number/nonumber
Orientation= Portrait | Landscape
STARTPAGE = YES | NO | NOW
ODS TEXT = 'mon texte‘
TITLE et FOOTNOTE
Color=color
Font=’font’
Height=height<units> Justify=LEFT|CENTER|RIGHT
Link=’url’
21M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VI – ODS TAGSETS.EXCELXP
http://support.sas.com/rnd/base/ods/excel/
http://support.sas.com/rnd/base/ods/odsmarkup/TipSheet_ods_xl_xp.pdf.
22M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VI – ODS TAGSETS.EXCELXP
• La syntaxeods tagsets.excelxp file="fichier.xls";
ods tagsets.excelxp close;
• Exemple 6.1 : Compléter le programme suivant pour créer un fichier XLS
ods tagsets.excelxp file="&chemin\exemple1_1.xls";
proc print data=appsas.emps noobs;
var Name EmployeeID JobTitle Gender Country Salary;
where JobTitle contains 'Chief';
title 'Report 1';
run;
ods tagsets.excelxp close;
23M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VI – ODS TAGSETS.EXCELXP
• Exemple 6.2 : Modifier le nom de l’onglet du fichier excel à l’aide de l’option sheet_name
options(sheet_name='Report 1')
Ajouter également le style SASWEB.
• Exemple 6.3 : Ajouter 2 nouveaux onglets ‘Report 2 et Report 3, contenant respectivement les 2
procédures suivantes :
proc tabulate data=appsas.emps;
class Gender Country;
var Salary;
table Gender, Country*Salary;
title 'Report 2';
run;
proc report data=appsas.emps nowd;
column Country Salary,(Mean Min Max);
define Country / group;
title 'Report 3';
run;
24M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VI – ODS TAGSETS.EXCELXP
• Quelques options supplémentaires pour les ODS tagsets.excelxp
• Attention : Ajouter des S à la fin !!!
• Exemple 6.4 : A partir de la proc print ci-dessous,
figer la première ligne du tableau obtenu.
• Exemple 6.5 : Mettre des filtres automatiques sur
les colonnes 3 à 6
proc print data=appsas.emps noobs;
var Company Department Country
Gender Salary Section;
run;
25M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VI – ODS TAGSETS.EXCELXP
• La génération de fichier XLSX
options nodate nonumber;
ods _all_ close;
goptions device=actximg;
ods excel file="&chemin\exemple6_4.xlsx";
proc print data=appsas.emps noobs;
var Name EmployeeID JobTitle Gender Country
Salary;
where JobTitle contains 'Chief';
title 'Report 1';
run;
ods excel close;
26M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VII – ODS POWERPOINT
27M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VII – ODS POWERPOINT
• La syntaxe
ods powerpoint
file="fichier.pptx"
style=PowerPointLight
layout=
<TitleSlide
TitleAndContent
TwoContent>;
28M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 7.1 : A l’aide de la proc ods text suivante, créer un document .pptx contenant une slide de texte uniquement.
ods escapechar='~';
footnote '~{style [fontsize=24pt]TIDE 2021 - Confidentiel}';
proc odstext;
p 'Presentation Sales Report' / style=PresentationTitle;
p 'Mercredi 14 Novembre 2021' / style=PresentationTitle2;
run;
VII – ODS POWERPOINT
29M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 7.2 : Ajouter une slide contenant le tableau généré par le code suivant :
VII – ODS POWERPOINT
title1 'Salary Report by Job Title';
title2 'Sales Reps Only';
proc tabulate data=appsas.sales f=dollar12.;
class Job_Title;
var Salary;
table Job_Title=' ', Salary*(n*f=6. mean min
max);
run;
30M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
• Exemple 7.3 : Ajouter une dernière slide contenant les 2 graphiques obtenus par le code ci-dessous :
VII – ODS POWERPOINT
title1 'Salary Report (Sum and Mean)';
proc sgplot data=appsas.sales;
where Country='AU';
vbar Job_Title / response=Salary stat=sum;
xaxis display=(nolabel);
run;
proc sgplot data=appsas.sales;
where Country='US';
vbar Job_Title / response=Salary stat=mean;
xaxis display=(nolabel);
run;
31M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
VIII- Et le langage macro dans tout ça ???
Exemple 8 :
A partir des exemples donnés pour les fichiers xlsx et les pptx, créer un macro-programme tel que :- si Country=US ou AU alors on génère un pptx avec 1 tableau et 2 graphiques- si Country=FR ou GB alors on génère un xlsx avec 1 tableau dans un onglet et un graphique dans un second onglet-sinon on génère un fichier word avec un tableau seulement
Exécuter ce macro programme pour Country=US, puis CA, puis FR, puis DK.
Envoi d’email a ajouter
M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE - Université Paris 1 Panthéon Sorbonne
32
33M. WILTHIEN - Applications SAS - 2021 Semestre 1 - Master 2 TIDE
Université Paris 1 Panthéon Sorbonne
EXERCICES
Exercice 1 : à l’aide d’une seule instruction ODS, créer 2 pdf : un pour les hommes et un pour les femmes de la table CLASS, permettant d’analyser la taille des élèves.
Exercice 2 : créer un fichier lisible dans Word avec l’analyse de la taille pour les élèves femmes de la table CLASS, en y ajoutant un commentaire en dessous du tableau.
Exercice 3 : Créer un PDF avec une page pour les hommes, une page pour les femmes, et une page avec juste ecrit : PAGE VIDE.
top related