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 :

Création d'un template


Sujet :

ODS et reporting

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 18
    Points
    18
    Par défaut Création d'un template
    Bonjour,

    J'ai créé un template personnalisé mais il y a des trucs qui ne marchent pas...

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    PROC TEMPLATE;
    	DEFINE STYLE STYLES.MYTEMPLATE;
    	PARENT = STYLES.SASWEB;
     
    	COMMENT Style de ODS TEXT= ;
    	CLASS USERTEXT / 
    		JUST=CENTER
    		FONTSIZE=12PT
    		FONTWEIGHT=MEDIUM
    		FONTSTYLE=ROMAN
    		COLOR=WHITE
    		BACKGROUNDCOLOR=cx8D0000
    		BORDERCOLOR=BLACK
    		;
     
    	COMMENT Style du Continued qui apparait lorsqu un tableau est splitté;
            COMMENT Problème 1;
    	CLASS CONTINUED /
    		COLOR=cx8D0000 
    		;
     
    	CLASS DATA /
    		COLOR=cx8D0000 
    		;
     
    	COMMENT Style du numéro de page;
    	CLASS PAGENO /
    		VJUST=BOTTOM
    		JUST=RIGHT
    		FONTWEIGHT=MEDIUM
    		FONTSTYLE=ROMAN
    		COLOR=cx8D0000 
    		BACKGROUNDCOLOR=WHITE
    		;
     
    	COMMENT Label des tableaux;
    	CLASS HEADER /
    		JUST=CENTER
    		FONTFAMILY="Arial"
    		FONTSIZE=12PT
    		FONTWEIGHT=MEDIUM
    		FONTSTYLE=ROMAN
    		BORDERCOLOR=cxFFFFFF 
    		BACKGROUNDCOLOR=cx8D0000 
    		COLOR=cxFFFFFF
    		;
     
    	COMMENT Valeurs dans la TABLE;
    	CLASS TABLE /
    		JUST=CENTER
    		FONTFAMILY="Arial"
    		FONTSIZE=12PT
    		FONTWEIGHT=MEDIUM
    		FONTSTYLE=ROMAN
    		/*BORDERCOLOR=cxFFFFFF */
    		BACKGROUNDCOLOR=cxFFFFFF 
    		COLOR=cx8D0000
    		BORDERCOLOR=cxFFFFFF
    		BORDERWIDTH=1
    		BORDERBOTTOMWIDTH=1
    		;
     
    	COMMENT Problème 2;
     
    	CLASS CELL /
    		BORDERBOTTOMCOLOR=cx8D0000
    		BORDERBOTTOMWIDTH=1
    		COLOR=cx8D0000
    		BACKGROUNDCOLOR=cxFFFFFF 
    		BORDERWIDTH=1
    		;
     
    	END;
    RUN;
     
    ODS GRAPHICS / MAXLEGENDAREA=80 NOBORDER;
     
    OPTIONS NODATE;
     
    GOPTION DEVICE=CLJA4;
     
    ODS PDF FILE='c://test.pdf' STYLE=STYLES.MYTEMPLATE 
    	STARTPAGE = NO 
    	PDFTOC=1
    	;
     
    ODS TEXT = '       Test du template          ';
    COMMENT Problème 3;
    ODS TEXT = ' ';
     
    PROC PRINT DATA=SASHELP.CLASS;
    RUN;
     
    PROC TABULATE DATA=SASHELP.CLASS ;
          CLASS NAME AGE;
          VAR WEIGHT;
          TABLE NAME, AGE * WEIGHT='' *SUM=''  ;
    RUN;
     
    ODS _ALL_ CLOSE;
    Premier problème, je n'arrive pas a changer le style du continued qui apparait avec la procédure tabulate. Le label non plus. CLASS CONTINUED devrait marcher mais non lol. Je pense que y'a une autre possibilité avec AfterCaption (classe de style) mais je n'ai pas réussi non plus.

    Ensuite, les valeurs de mon tableaux sont en noir au lieu d'être bordeau. J'ai ajouté CLASS CELL et CLASS DATA mais cela reste toujours noir.

    Et comme 3ième problème, j'essaye de faire un cadre noir à mon ODS TEXT
    avec BORDERCOLOR=BLACK mais sans succès non plus. C'est production cette façon de programmer un template et c'est bourré de bug ou bien je me plante ?

    Cordialement,

    Mikael

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonsoir Mikael.
    Cette syntaxe que tu utiles avec des CLASS, je ne la connais pas, et effectivement on peut penser qu'elle est instable. Sur ma machine (9.2), tout fonctionne bien avec la norme "officielle" de SAS (STYLE élément FROM élément) qui remplace certains attributs et pour tout ce qui n'est pas précisé, pioche dans le style parent. C'est la syntaxe décrite ici. Si tu as une version antérieure à 9.2, je ne peux pas faire de tests, mais visiblement, d'après l'article, tu devrais te tourner vers des REPLACE au lieu des CLASS.
    Cela dit, tes 3 problèmes se solutionnent de la manière suivante.
    1) le texte (CONTINUED) : on ne peut pas modifier le texte lui-même, qui vient de la procédure et pas de l'ODS. Mais pour son aspect c'est bien l'élément AFTERCAPTION (comme l'indique la doc de la proc Tabulate, au détour de l'option NOCONTINUED) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	STYLE Aftercaption  FROM Aftercaption  /
    		PREtext = "A suivre"
    		COLOR=cx8D0000 
        ;
    2) les valeurs du tableau, c'est du ressort de l'élément DATA, effectivement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	STYLE DATA FROM DATA /
    		COLOR=cx8D0000 
    		;
    3) le texte personnalisé à encadrer se gère bien dans USERTEXT, mais en plus de fournir une couleur de bordure, il faut indiquer une largeur de bordure (par défaut elle vaut visiblement 0 des petits comiques ces développeurs SAS) et FRAME=BOX pour avoir des bordures de tous côtés. Attention, ça s'applique aussi à ton second ODS TEXT qui est vide (et du coup c'est moche !).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	STYLE USERTEXT FROM USERTEXT / 
    		JUST=CENTER
    		FONTSIZE=12PT
    		FONTWEIGHT=MEDIUM
    		FONTSTYLE=ROMAN
    		COLOR=WHITE
    		BACKGROUNDCOLOR=cx8D0000
    		BORDERCOLOR=BLACK
    		BORDERWIDTH=1 
    		FRAME=BOX
    		;
    A tout prendre pour garder un peu d'espace, je ferais plutôt un retour à la ligne et un espace insécable pour avoir une ligne vide sous ton texte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ODS ESCAPECHAR="^" ;
    ODS PDF TEXT = '       Test du template          ^n^_';
    Bon courage !
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    Bonjour Olivier,

    Merci beaucoup pour toutes ces précisions.

    Avec ça tout fonctionne. Ca fait un peut trop rouge maintenant mais bon maintenant que j'ai compris je vais pouvoir peaufiner tout ça. Dommage que tout ne marche pas correctement avec le CLASS statement.

    Bonne journée!

  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
    Que gagnerais-tu avec CLASS ?
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  5. #5
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Cette syntaxe CLASS, que je ne connaissais pas jusqu'à que tu en parles hier, est proposée ici. L'idée en écrivant CLASS toto est de faire la même chose que STYLE toto FROM toto, comme dans la solution que j'ai proposée.
    Mais bon, visiblement, ça ne marche pas à tous les coups, et la syntaxe "longue" est (jusqu'à meilleure explication) à privilégier.
    Bon courage.
    Olivier

  6. #6
    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
    Merci Olivier
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

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

Discussions similaires

  1. [Visual Web] Création d'un template
    Par fabou3377 dans le forum NetBeans
    Réponses: 9
    Dernier message: 31/08/2009, 18h18
  2. Création d'un template Word commun à N sites
    Par math1234 dans le forum SharePoint
    Réponses: 2
    Dernier message: 29/09/2008, 19h13
  3. [Joomla!] Création d'un template
    Par keks06 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 18/04/2008, 10h01
  4. Création composant et template
    Par stephane92400 dans le forum JSF
    Réponses: 19
    Dernier message: 27/08/2007, 20h07
  5. StarUML création d'un template
    Par slobberbone dans le forum Autres
    Réponses: 2
    Dernier message: 17/07/2007, 17h15

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