FAQ SASConsultez toutes les FAQ
Nombre d'auteurs : 13, nombre de questions : 308, dernière mise à jour : 5 avril 2016 Ajouter une question
Cette F.A.Q., qui traite de tout type de questions portant sur l'outil SAS, a été réalisée à partir des contributions des membres des forums sas de developpez.com en vue de répondre à des questions fréquemment posées par les utilisateurs et grâce à SAS France qui a bien voulu nous donner accès à ses sources.
Si vous désirez contribuer à l'amélioration de cette F.A.Q., vous pouvez participer au billet de participation à l'enrichissement de la faq SAS , ou contacter le responsable SAS , ou contacter un des responsables de l'équipe Business Intelligence .
Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.
L'équipe SAS de developpez.com remercie les contributeurs actuels : ash_rmy , bahraoui , datametric , fafabzh6 , Fleur-Anne.Blain , green_fr , oncle_pete , raf64flo , rastoix , s_a_m et steelspirit .
L'équipe SAS de developpez.com remercie aussi claudeLeloup et jacques_jean pour leurs relectures attentives de la F.A.Q. dans le but de chasser les fautes d'orthographes.
- Comment s'assurer que la sortie web d'une instruction ODS sur le type de sortie _webout exécutée dans un Stored Process Server sera bien formatée ?
- Comment changer le titre figurant dans la bannière d'un navigateur, d'un fichier HTML créé avec l'ODS ?
- Comment faire pour insérer un logo lorsqu'on crée des fichiers HTML à partir de l'ODS HTML ?
- Comment supprimer les sauts de page dans un document HTML ?
- Comment supprimer l'encadré d'un titre dans une page HTML ? ( Il est visible quand la couleur de fond du titre est différente de celle de la page HTML).
- Dans les préférences (TOOLS -> OPTIONS -> PREFERENCES), au niveau de la restitution des résultats (onglet Results), dans la partie HTML, il est possible de spécifier qu'un fichier HTML soit créé par défaut pour chaque sortie. Le style qui sera appliqué au
- Lors de la création d'une table des matières, avec l'ODS HTML, comment procéder pour que les références aux fichiers HTML soient exprimées de façon relative ?
- Comment faire pour définir l'emplacement des graphiques au format gif générés en ODS HTML ?
- Entre la version 8.2 du Système SAS et SAS 9, il se peut que les sorties HTML diffèrent en raison d'un code HTML généré différent. Comment faire pour retrouver le code HTML de la version 8.2 du Système SAS avec SAS9 ?
- Comment inclure le code d'un fichier CSS dans un fichier HTML?
- Comment positionner plusieurs graphiques sur une même page dans une sortie HTML ?
Dans la déclaration de la ligne de code ODS, il suffit d’ajouter l’option :
rs=noneCette option permet de formater la sortie en mode « record based » (mode où les enregistrements envoyés vers le fichier de sortie sont des lignes entières).
Cette option est particulièrement recommandée quand vous générez des fichiers HTML avec une instruction ODS dans une application stockée ou SAS/Intrnet (sur un filename _webout).
Elle est également applicable si l'instruction ODS crée un fichier plat (texte) contenant des données UTF-8.
Exemple :
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | ods listing close; ods csv file=_webout options(Delimiter=';') rs=none; data _null_; set sasuser.matable; file print ods; put _ods_; run; ods csv close; ods listing; |
Avec l'option title = dans l'instruction ODS HTML.
Exemple :
ods html file='d:\temp\toto.html'(title="My Title");
La procédure TEMPLATE permet de définir des styles. Vous pourrez ensuite appliquer ces styles à vos documents HTML.
Voici un exemple simple. Il crée le style styles.test et hérite du style DEFAULT, c'est-à-dire que vous conservez toute la définition de ce style, vous ajoutez simplement une image en haut, à droite de votre fichier HTML.
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 | proc template; define style styles.test; parent=styles.default; style body from document / prehtml="<table width=100%><td align=right><img src=""c:\images\img1.jpg""></td> </table>"; end; run; |
Ensuite, pour l'utiliser, vous ajoutez l'option style dans votre instruction ODS HTML.
Code sas : | Sélectionner tout |
1 2 3 | ods html file='c:\temp\ods.html' style=styles.test; /* Votre code SAS */ ods html close ; |
En modifiant le style DEFAULT, plus précisément le paramètre pagebreakhtml, en le positionnant à _UNDEF_.
Voici un exemple de code :
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | proc template; define style saut; parent = styles.default; style body from body / pagebreakhtml = _UNDEF_; end; run; ods html file='c:\temp\saut.html' style=saut; proc print data=sashelp.class;run; proc print data=sashelp.class;run; proc print data=sashelp.class;run; ods html close; |
Ce code montre comment changer la couleur de fond de la page (body) et du titre (systemtitle) :
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 | proc template; define style newtest; parent=styles.default; style body from body / background=blue; style systemtitle from systemtitle / background=blue; end; run; |
En appliquant ce style, le titre sera encadré en gris.
Pour supprimer cet encadrement, il faut ajouter cette instruction dans la procédure Template :
Code sas : | Sélectionner tout |
1 2 3 | style SysTitleAndFooterContainer from Container / cellpadding = 0 cellspacing = 0; |
Pour ce faire, vous devez appliquer les étapes suivantes :
1- Vous définissez votre style avec la procédure Template et vous le stockez dans la sashelp
(avec l'option store, cf exemple ci-dessous) :
define style Styles.amoi / store = SASHELP.TMPLMST;
2- Vous tapez REGEDIT en ligne de commandes.
- Dans la fenêtre Registry Editor, vous cliquez sur ODS, PREFERENCES et STYLES
- Dans les menus, vous cliquez sur Edit -> New -> Key
- Dans la fenêtre Edit Key Name, vous tapez le nom de votre style (amoi dans cet exemple)
3- Vous verrez désormais le style amoi dans la liste déroulante où sont présents les styles SAS.
L'option url=none de l'instruction path permet de stocker les chemins relatifs.
Ci-après un exemple.
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 | ods html path='c:\mon_web'(url=none) frame='frame.html' contents='contents.html' body='res.html' ; proc print data=sashelp.class; run; ods html close; |
L'option path= permet de donner le répertoire où devront être créés tous les fichiers (body, frame, contents, page, etc).
Pour le vérifier, il suffit d'éditer le fichier contents.html.
Sans l'option url=none, le chemin absolu est stocké.
Code sas : | Sélectionner tout |
< A HREF="c:\mon_web\res.html#IDX" TARGET="body">
Avec l'option url=none, c'est le chemin relatif qui est stocké.
Code sas : | Sélectionner tout |
< A HREF="res.html#IDX" TARGET="body">
Avec l'option GPATH= dans l'instruction ODS HTML.
Pour obtenir du code HTML généré identique à la version précédente, 2 solutions sont possibles :
Dans vos programmes, remplacer les instructions ODS HTML et ODS HTML CLOSE par ODS HTML3 et ODS HTML3 CLOSE, comme le montre l'exemple suivant :
Code sas : | Sélectionner tout |
1 2 3 4 | ods html3 file="temp.html"; proc print data=sashelp.class; run; ods html3 close; |
Modifier la base des registres SAS :
- saisir REGEDIT dans la ligne de commande
- se positionner sur l'item ODS
- modifier la valeur de "Default HTML version" de HTML4 en HTML
Par défaut, un fichier CSS n'est pas intégré dans le fichier HTML mais une balise pointe sur le fichier CSS. Vous devez donc avoir accès au fichier CSS pour que la feuille de style soit appliquée.
Pour une utilisation autonome du fichier HTML avec les personnalisations d'intégrées, vous pouvez inclure le code du CSS directement dans le fichier HTML.
La solution consiste à lire le fichier CSS via une étape data _null_.
Vous trouverez ci-dessous un exemple de code où le fichier CSS est lu entre les balises et . L’option NOTOP est positionnée lors de l’instruction ODS HTML pour éviter que de telles balises soient recréées :
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | filename temp 'c:\temp\add_css.html' mod; data _null_; infile 'c:\temp\mon_style.css' truncover end=last; input; file temp; if _n_= 1 then do; put ''; put ''; put ''; put ''; end; run; ods html file=temp(notop) stylesheet; proc print data=sashelp.class; run; proc print data=sashelp.class; run; ods html close; filename temp clear; |
Vous devez faire attention au fait que l'intégration du fichier CSS directement dans le code HTML va augmenter la taille du fichier HTML généré.
En utilisant par exemple l'ODS TAGSETS.HTMLPANEL :
Code sas : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | %let panelcolumns = 2; %let panelborder = 1; ods listing close; filename odsout 'c:\'; ods tagsets.htmlpanel body = "paneltest.html" path = odsout; ods tagsets.htmlpanel event=panel(start); goptions reset = goptions device = GIF xpixels = 400 ypixels = 400 ftext = 'Arial' htext = 1.2; proc gchart data=sashelp.class; vbar name / sumvar=weight ascending; where sex="M"; pattern1 c=cyan v=solid; run; proc gchart data=sashelp.class; vbar age; run; proc gchart data=sashelp.class; vbar name / sumvar=weight ascending; where sex="F"; pattern1 c=magenta v=solid; run; proc gchart data=sashelp.class; where sex="F"; vbar age; run; quit; ods tagsets.htmlpanel event=panel(finish); ods _all_ close; ods listing; |
Aide en ligne :
http://support.sas.com/rnd/base/ods/odsmarkup/htmlpanel.html
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.