Title: Structurer ses travaux SAS
1Structurer ses travaux SAS à l'aide de pages HTML
Joël Rivest, Ph.D. (jrivest_at_cdpqinc.qc.ca) Analyst
e au Centre de développement du porc du Québec
inc.
Québec Juin 2010
2Deux utilisations du HTML
- 1. ODS de SAS ? Résultats en HTML et présentation
structurée - 2. Automation OLE et HTML? gestion des programmes
SAS
3Résultats en HTML
- Facilite le partage des résultats avec le client
et aide à s'y retrouver soi-même plus facilement
4Résultats en HTML - Exemple
5Vaut-il la peine de produire un site?
- Peut être intéressant si
- on est susceptible de revenir souvent aux
résultats, ou après une longue période de temps - les résultats sont nombreux
- plusieurs personnes sont susceptible de consulter
les résultats - des mises à jours de résultats sont probables.
6Résultats en HTML - Pré-requis
- Accéder en écriture un endroit accessible par les
clients - Serveur web de la Cie (gestion des accès
sécurisés) - Serveur intranet (clients internes)
- Un ordinateur quelconque (le sien) connecté au
réseau (clients internes ou simplement pour soi)
7Résultats en HTML - Pré-requis
- Être capable de créer des pages web de menu
permettant daccéder aux résultats SAS - Préférence personnelle pour coder directement le
code HTML - Sinon peut utiliser un logiciel wysiwyg
- Autre alternative utiliser un wiki maison,
(avec moteur tel dokuwiki, mediawiki, etc.) - Requiert moins de codification que le HTML
8Résultats en HTML - Pré-requis
- Quelques macros (pour SAS PC) facilitant
lécriture des résultats SAS dans des pages web - VERSHTML(répertoire,sous-répertoire)
- code
- code
- code
- FINHTML
9Macro VERSHTML
- Paramètres de la macro VERSHTML
- Répertoire Obligatoire
- Sous-répertoire Optionnel
- Crée un sous-répertoire du nom donné
- Utile pour générer série de résultats similaires
pour différentes variables - ex 1 sous-répertoire par variable analysée
(analyse de variance)
10- MACRO VERSHTML(chemin,nom)
- /Option qui permet de fermer automatiquement
la fenêtre DOS lorsque la tâche est complétée/ - OPTION NOXWAIT
- /Change le répertoire courant selon le chemni
spécifié/ - SYSEXEC CD CHEMIN/
- /Si un nom est indiqué, un sous-répertoire est
ajouté au chemin/ - IF NOM NE THEN DO
- SYSEXEC MD NOM
- SYSEXEC CD NOM
- LET NOMREPNOM/
- END
- ELSE DO
- LET NOMREP
- END
- /Efface les fichier GIF et HTML déjà présents
dans le répertoire/
11- MACRO FERMEHTML
- quit
- /Ferme la sortie HTML/
- ODS HTML CLOSE
- /Rétablit la sortie vers l'écran/
- ODS LISTING
- /Ajuste les paramètres graphiques pour
l'écran/ - goptions devicewin notransparency
hsize16.75cm vsize10.2cm ftitle'Arial'
ftext'Arial' htitle1.5 htext.8 - MEND
12Résultats en HTML - exemple
- Exemple fictif, création de résultats dans un
seul répertoire
13- /Création d'un set de données fictives de 4
variables/ - data donnees
- do i1 to 100
- xnormal(464654)
- y1.5xnormal(464654)2
- v-4-7xnormal(464654).5
- znormal(654654)
- output
- end
- run
14- /Met des résultats globaux dans un sous
répertoire accessibles par le fichier
result.html/ - VERSHTML(CHEMINC\TESTHTML,nomglobal)
- let title"Statistiques descriptives"
- title h.4cm title
- ods proclabel title
- proc tabulate datadonnees
- var x y v z
- table x y v z,n mean min max std p5 p95
- run
- let title"Corrélations"
- title h.4cm title
- ods proclabel title
- proc corr datadonnees nosimple
- var x y v z
- run
15Résultats en HTML - exemple
- Exemple fictif, création de résultats dans
plusieurs répertoires, un par variable analysée
16- /Génération de résultats pour une liste de
variables données - lien entre x et une autre
variable/ - MACRO RESULTAT
- let listevary v z
- do compte1 to 3
- do while (scan(listevar,compte) ne )
- let varscan(listevar,compte)
- VERSHTML(CHEMINC\TESTHTML,nomvar._vs_x)
- let title"Analyse de régression, var
f(x)" - title h.4cm title
- ods proclabel title
- proc reg datadonnees
- model varx
- plot varx
- output outsortie rres
- run
17Gestion des programmes SAS
- Permet de créer des menus très variés pour
accéder à ses programmes SAS. - Pour SAS PC.
- SAS enterprise ?
- Doit rouvrir SAS si on fait des changements au
menu
18Gestion des programmes SAS - exemple
Un clique sur un lien ouvre le fichier de code
dans SAS
19Gestion des programmes SAS
- Exemple de code dune page HTML permettant
douvrir dans SAS le fichier autoexec.sas
20- lthtmlgt
- ltheadgt
- ltscript language"VBscript"gt
- on error resume next
- Set OleSAS GetObject(,"SAS.Automation")
- if err then
- Set OleSAS CreateObject("SAS.Application")
- on error goto 0
- else
- on error goto 0
- msgbox "like this will ever happen..."
- end if
- olesas.visibletrue
- sub runsas(cmd)
- OleSAS.Top
21Merci
Joël Rivest, Ph.D. (jrivest_at_cdpqinc.qc.ca) Analyst
e au Centre de développement du porc du Québec
inc.
Québec Juin 2010