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

  1. #1
    Membre actif
    [PROC TEMPLATE] Créer un nouveau style pour la ligne des totaux
    Bonjour,
    Je souhaiterais créer un style avec une proc template, qui m'affiche différemment la ligne des totaux ; ligne créée avec l'option ALL dans une proc tabulate, ou avec l'instruction RBREAK AFTER dans une proc compute.
    Quelqu'un sait-il comment faire ?

  2. #2
    Membre chevronné
    Une solution en utilisant la proc report:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ods pdf file="c:\file.pdf";
    proc report data=sashelp.bweight
    nowindows missing headline
    style(header)=[font_style=roman];
    column black weight ;
    define black / group;
    define weight /  style=[font_face=courier];
    rbreak after / summarize skip ol style=[font_weight=bold foreground=red];
    run;
    ods pdf close;

  3. #3
    Membre actif
    Merci Manoutz, mais n'y a t'il pas une instruction dans la proc template, qui permette de faire la même chose ?

  4. #4
    Membre chevronné
    Je suis moins familier de la proc tabulate... je ne connais pas la proc compute (ca permet de faire quoi?), je suppose que tu faisais référrence a la proc report.

    je vais regarder si la gestion du style est différent avec la proc tabulate. Peux tu me fournir ton code en tabulate et un jeu de données?

    Quand à l'utilisation de la proc template.. Ca me parait un peu compliqué..

    Manoutz

  5. #5
    Membre actif
    Effectivement, il s'agissait d'un COMPUTE dans une proc report.
    Quant à mon code, voici celui de la proc report

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc report data=T1 nowd;
       column DISC N;
       define DISC         / group ' ';
       define Formations   / "Nombre";
       rbreak after / summarize;
       compute after;  DISC = 'Total'; endcomp;
    run;


    et voici le style que j'utilise, créé par la proc template

    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
    proc template;
       define style MonStyle; parent = styles.RTF;
          replace fonts /
             'TitleFont' = ("Arial",12pt,Normal)
             'TitleFont2' = ("Arial",10pt,Normal)
             'docFont' = ("Arial",9pt)
             'BatchFixedFont' = ("Arial",11pt,Bold)
             'footFont' = ("Times Roman",10pt);
          replace color_list / 'bg'=_undef_;
          replace table / rules=groups frame=hsides font_face='Arial' font_size=9pt cellspacing=0 cellpadding=4pt;
          replace header / vjust=center font_face=Arial font_size=9pt font_weight=bold background=BISQUE; 
          style body from body / pagebreakhtml=_UNDEF_ ;
          style Data from Data / protectspecialchars=off pretext="\qj\tqdec\tx800 " cellwidth=2cm;
          style DataEmphasis from DataEmphasis / protectspecialchars=off pretext="\qj\tqdec\tx800 " 
             font_face='Arial' font_size=9pt cellwidth=2cm;
          style SystemFooter from SystemFooter / font = fonts("footFont") foreground=PURPLE;
       end;
    run;

  6. #6
    Membre chevronné
    Le style que tu as défini via la proc template fonctionne, amis encore une fois, pourquoi tu fais tout ca?

    Si tu regardes mon code au dessus, il te suffit tout simplement de spécifier les paramètres que tu souhaites dans le style= de ton rbreak et tout est joué en une et une seule proc report..

  7. #7
    Membre actif
    Oui, mais je souhaite aussi améliorer ma connaissance de la proc template !

###raw>template_hook.ano_emploi###