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 :

Sauts de page avec ODS HTML Proc report (SAS)


Sujet :

ODS et reporting

  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut Sauts de page avec ODS HTML Proc report (SAS)
    Bonjour,

    Je sors des listings de données par patient. J'aimerais avoir des sauts de page entre mes patients (code_pat) mais pas entre mes procedures. J'ai lancé un template et il supprime tous les sauts. Comment enlever les sauts entre les procedures et les remettre en les patients ?

    J'ai tester l'options formdlim entre les proc report mais ça ne marche pas.

    Merci d'avance.


    Mon progr est le 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
    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
    proc template;
    define style saut;
    parent = styles.default;
    style body from body / pagebreakhtml = _UNDEF_;
    end;
    run;
     
    ods noptitle;
    ods html file='c:\marie\testdepi.html' (title="Cancers des bases ONCOLR et RCP") style=saut; 
    Data _NULL_;
        set K end=eof;
    	    call symput('numpat'!!trim(left(put(_n_,8.))),code_pat);
    		If eof then call symput('nbpat',_n_);
    run;
     
    %macro report;
     
    %Do i=1 %to &nbpat;
     
    Proc report data = demo missing nowd
    	style(report)={just=center}
    	style(lines)=header{background=white Foreground=red asis=on font_size=12pt font_face="TimesRoman" font_weight=bold just=left}
    	style(header)=header{background=white font_size=10pt font_face="TimesRoman" frame=box font_weight=bold}
    	style(column)=header{background=white font_size=10pt font_face="TimesRoman" font_weight=medium};
    where code_pat = "&&numpat&i";
    title1 "PATIENT N° &&numpat&i";
     column  text resp;
     define code_pat / width = 0 "" noprint;
     define text / width = 30 flow " " style(column)={just=center};
     define resp / width = 30 flow  "  " style(column)={just=center};
    run;
    quit;
     
     
    Proc report data = DONNEESoncolr missing nowd
    	style(report)={just=center}
    	style(lines)=header{background=white asis=on font_size=12pt font_face="TimesRoman" font_weight=bold just=left}
    	style(header)=header{background=white font_size=10pt font_face="TimesRoman" frame=box font_weight=bold}
    	style(column)=header{background=white font_size=10pt font_face="TimesRoman" font_weight=medium};
    where code_pat = "&&numpat&i" and dossieroncolr eq 1;
    title1 "Données ONCOLR du patient N° &&numpat&i";
     column  text resp;
     define code_pat / width = 0 "" noprint;
     define dossieroncolr / width = 0 "" noprint;
     define text / width = 30 flow " " style(column)={just=center};
     define resp / width = 30 flow "  " style(column)={just=center};
    run;
    quit;
     
     
    Proc report data = DONNEESrcp missing nowd
    	style(report)={just=center}
    	style(lines)=header{background=white asis=on font_size=12pt font_face="TimesRoman" font_weight=bold just=left}
    	style(header)=header{background=white font_size=10pt font_face="TimesRoman" frame=box font_weight=bold}
    	style(column)=header{background=white font_size=10pt font_face="TimesRoman" font_weight=medium};
    where code_pat = "&&numpat&i" and dossierrcp eq 1;
    title1 "Données RCP du patient N° &&numpat&i";
     column  text resp;
     define code_pat / width = 0 "" noprint;
     define dossierrcp / width = 0 "" noprint;
     define text / width = 30 flow " "  style(column)={just=center};
     define resp / width = 30 flow  "  "  style(column)={just=center};
    run;
    QUIT;
    %end;
     
    %mend;
    %report;
    ods html close;

  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 : 47
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Bonjour Marie.
    Tu peux insérer une ligne entre deux procédures SAS (après ta 3e proc Report, avant le %END qui finit la boucle par patient) avec
    Olivier

    PS : normalement, l'option NOPRINT dans DEFINE suffit, pas la peine de supprimer l'en-tête et de mettre WIDTH=0.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    Bonjour

    Merci pour votre réponse.
    J'ai testé mais ça ne marche pas
    Voici le message d'erreur dans la LOG :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ods html text="<HR>"
     
    ERROR 22-322: Syntax error, expecting one of the following: ;, ANCHOR, ARCHIVE, ATTRIBUTES, BASE, BODY, CHARSET, CLOSE, CODE, CONTENTS, CSS, ENCODING,EXCLUDE, FILE, FRAME, GFOOTNOTE, GPATH, GTITLE, HEADTEXT, METATEXT,NEWFILE, NOGFOOTNOTE, NOGTITLE, PAGE, PARAMETERS, PATH, RECORD_SEPARATOR, SELECT, SHOW, STYLE, STYLESHEET, TRANTAB.
    Qu'en pensez vous ?
    Marie

  4. #4
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    Je precise que je suis toujours sur V8.1

  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 : 47
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    En 8.1 ? Wahou ! Quel courage...
    Effectivement, ODS ... TEXT ne fonctionne (correctement) qu'en v9. En v8, on peut truander en changeant les titres ou les footnotes. Par exemple, ici, vous pourriez ajouter à votre dernière proc Report un Footnote qui contienne ce fameux "<HR>" (pensez à supprimer le Footnote juste ensuite, sinon il va s'incruster).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FOOTNOTE1 "<HR>" ;
    PROC REPORT DATA=... NOWD ;
    ...
    RUN ;
    FOOTNOTE ;
    Olivier

  6. #6
    Membre émérite
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Par défaut
    Wouaaa tout ce code ça me pique les yeux

    Je vais truander également (la proposition d'Olivier m'a inspiré) :

    Dans ta dernière procédure rajoute dans le style(report) : POSTHTML="<HR>"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Proc report data = DONNEESrcp missing nowd
    style(report)={just=center POSTHTML="<HR>"}
    style(lines)=header{background=white asis=on font_size=12pt font_face="TimesRoman" font_weight=bold just=left}
    style(header)=header{background=white font_size=10pt font_face="TimesRoman" frame=box font_weight=bold}
    style(column)=header{background=white font_size=10pt font_face="TimesRoman" font_weight=medium};
    where code_pat = "&&numpat&i" and dossierrcp eq 1;
    title1 "Données RCP du patient N° &&numpat&i";
    column text resp;
    define code_pat / width = 0 "" noprint;
    define dossierrcp / width = 0 "" noprint;
    define text / width = 30 flow " " style(column)={just=center};
    define resp / width = 30 flow " " style(column)={just=center};
    run;
    Ton style saut enlève tout les sauts de page, et la dernière procédure ajoute un saut juste après. Si tu trouve que le saut est trop "collé" au tableau tu peux ajouter des sauts de ligne exemple : POSTHTML="<BR><BR><HR>". Ici on ajoute 2 sauts de ligne et 1 saut de page.

    Bon courage,

    Style

  7. #7
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    Merci beaucoup pour votre aide

    Marie

  8. #8
    Membre expérimenté


    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Par défaut
    Si le problème est résolu merci de cliquer sur
    Les balises code
    FAQ SAS
    Rubrique SAS

    Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.

  9. #9
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    Le pb est resolu, mais le clic "resolu" ne fonctionne pas ....

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2012, 16h36
  2. Réponses: 2
    Dernier message: 18/05/2011, 12h58
  3. [MooTools] Mootools : chargement d'une page avec Request.HTML
    Par Atharendil dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 06/08/2008, 06h38
  4. commande saut de lignes dans ods html
    Par Emy93160 dans le forum ODS et reporting
    Réponses: 7
    Dernier message: 01/07/2008, 15h04
  5. [Word]saut de page avec delphi
    Par sihempeace dans le forum Delphi
    Réponses: 1
    Dernier message: 10/09/2006, 19h14

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