IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODS et reporting Discussion :

[SAS 8.2] proc template et ods rtf text - centrer les textes


Sujet :

ODS et reporting

  1. #1
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut [SAS 8.2] proc template et ods rtf text - centrer les textes
    Salut,

    J'aimerais centrer les textes au-dessus des tableaux dans le programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    	ods listing close;
     
    	proc template ;
    		define style textstyle ;
    		parent=styles.rtf ;
    		style usertext from usertext ;
    		replace fonts /
    		"docFont"=("Times New Roman",11pt,light) 
    		"headingFont"=("Times New Roman",11pt,light)
    		"TitleFont"=("Times New Roman",11pt,light)
    		"TitleFont2"=("Times New Roman",11pt,light)
    		;
    		end ;
    	run ;
     
    	ods rtf file="test.rtf" startpage=no style=textstyle ;
     
    	ods rtf text="Texte1" style=textstyle ;
    	proc tabulate data=... ;
    	   ... 
    	run ;
     
    	ods rtf text="Texte2" style=textstyle ;
    	proc tabulate data=... ; 
    	   ...
    	run ;
     
    	ods rtf text='Texte3' style=textstyle ;
    	proc tabulate data=... ; 
    	   ... 
    	run ;
     
    	ods rtf close ;
    	ods listing ;
    Mais je n'ai pas encore trouvé l'astuce permettant de le faire.

    Toute aide est la bienvenue.

    Merci d'avance.

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Salut

    Tu essaies et tu dis quoi.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /* le secret est là */
    proc template;
       define style mystyle ;
       parent=styles.printer;
         style UserText from Note / just=c;
       end;
    run;
     
    ods rtf file="file.rtf" startpage=no style=Mystyle;
     
    ods rtf text="My Text 1"; /* Pas là */
     
    proc print data=sashelp.class (obs=1); 
    run;
     
    ods rtf text="My Text 2";
     
    proc print data=sashelp.class (obs=1); 
    run;
     
    ods rtf close;

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Merci de ta réponse mais malheureusement, ça ne fonctionne pas.

    J'ai le sentiment que l'utilisation de l'ods rtf est assez limitée en SAS 8.2.

  4. #4
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Deuxième essai, tu l'auras voulu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    ods rtf file="file.rtf" startpage=no style=Mystyle;
     
    ods rtf
      text="{\trowd\trqc\cellx11520\intbl\qc{A remplir pour un titre \cell}{\row}\pard}";
     
    proc print DATA=sashelp.class (obs=1); 
    run;
     
    ods rtf close;

  5. #5
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    ça fonctionne.

    Je ne risquais pas de la trouver toute seule cette instruction.

    Par contre, les textes sont encadrés comme des titres.
    Y-a-t'il moyen de supprimer ce cadre ?

    Sinon, j'ai testé ta première solution en ods pdf et ça fonctionne bien.

    Mais est-ce possible de faire en sorte que certains textes soient centrés et pas d'autre ?

    Merci d'avance de ta réponse.

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    J'ai trouvé la réponse à ma question concernant la sortie pdf.
    J'ai défini deux styles différents, un pour les titres du document justifiés à gauche et un pour les titres des tableaux centrés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    proc template ;
    	define style styleTitre ;
    		parent=styles.printer ;
    		style UserText FROM Note / just=l ;
    	end ;
    	define style styleTitreTableau ;
    		parent=styles.printer ;
    		style UserText FROM Note / just=c ;
    	end ;
    run ;
     
    ods pdf file="test.pdf" startpage=no style=styleTitre ;
     
    ods pdf text="Mon titre 1" ;
    ods pdf text="Mon titre 2" ;
    ods pdf text=" " ;
    ods pdf text=" " ;
     
    ods pdf text="Mon texte 1"  style=styleTitreTableau ;
     
    proc print data=SASHELP.CLASS (obs=1) ;
    run ;
     
    ods pdf text=" " ;
    ods pdf text="Mon texte 2"  style=styleTitreTableau ;
     
    proc print data=SASHELP.CLASS (obs=1) ;
    run ;
     
    ods pdf text=" " ;
    ods pdf text="Mon texte 3"  style=styleTitreTableau ;
     
    proc print data=SASHELP.CLASS (obs=1) ;
    run ;
     
    ods pdf close ;
    Par contre, ma question sur les titres encadrés pour la sortie rtf est toujours d'actualité.

    Merci.

  7. #7
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Chez moi, ton code centre tous les titres.

    Tu peux aussi utiliser cela je crois (surtout dans le PDF)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ods pdf text="^S={just=c} Encore un titre ici";

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Effectivement, ça fonctionne aussi comme ça mais seulement pour le PDF.

    Quelle version de SAS utilises-tu ?

  9. #9
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Ben la 9.2.

    Tu peux demander un upgrade licence à SAS, la tienne n'est plus supportée et s'est intégré dans tes coûts de licence (ie. il n'y a pas de surcoût à demander à SAS la nouvelle version.

    Et dans ce cas, tu pourras faire de jolies choses très facilement.

  10. #10
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Le changement de version ne dépend pas de moi.
    On a déjà la SAS 9 mais elle n'est pas en prod.
    Je dois donc attendre que tous les entrepôts décisionnels soient migrés en SAS 9 avant de pouvoir l'utiliser.
    Je peux la tester mais mon programme doit pour l'instant fonctionner avec la SAS 8.2.

  11. #11
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    On a finalement opté pour la sortie PDF qui fonctionne bien mieux que la sortie RTF.

    Merci encore de ton aide précieuse.

  12. #12
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    En fait, il s'avère que les PDF générés sous UNIX ne ressemblent en rien à ceux générés sur mon PC.
    Impossible de lui faire utiliser le style défini via la proc template.
    Il y a peut-être des subtilités que je ne connais pas ou alors, ça fait partie des limites de l'ods en SAS 8.2.
    En attendant, j'ai dû me résoudre à revenir à la génération de documents RTF.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/09/2014, 15h05
  2. [ODS RTF] Destination (FILE) ODS avec sas macro
    Par ibrahima13 dans le forum ODS et reporting
    Réponses: 6
    Dernier message: 28/01/2011, 11h44
  3. Problème proc template (migration SAS 9.1 vers 9.2)
    Par mrjuls dans le forum ODS et reporting
    Réponses: 0
    Dernier message: 07/10/2009, 15h28
  4. [Ressources biblio] ODS Styles et PROC TEMPLATE
    Par datametric dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/07/2009, 19h56
  5. [Ressources biblio] SAS with Style: Creating Your Own ODS Style Template for PDF Output
    Par datametric dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/07/2009, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo