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 :

ODS RTF avec destinations multiples


Sujet :

ODS et reporting

  1. #1
    Candidat au Club
    ODS RTF avec destinations multiples
    Bonjour à tous,

    je suis à la recherche d'une solution pour pouvoir sortir des résultats dans un autre fichier RTF que celui "en cours".
    A l'origine je créais un fichier rtf "principal.rtf" au cours duquel j'excluais certaines sorties.

    Aujourd'hui au lieu d'exclure ces sorties, je voudrais les enregistrer dans un autre fichier RTF "secondaires.rtf".

    J'ai réussi à créer le fichier "secondaire.rtf" mais j'aimerais que les résultats contenus dans secondaire.rtf n'apparaissent pas dans mon fichier principal.

    J'ai essayé avec l'instruction exclure mais je n'ai pas trouver comment spécifier sur quel fichier il fallait appliquer l'exclusion.

    Voilà le code test que j'ai fait pour créer "principal.rtf" et "secondaire.rtf" mais j'aimerai que ma sortie 2 n'apparaissent que dans "secondaire.rtf"

    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
    ODS RTF ("PRINC") file="&Fichiers/PRINCIPAL.rtf" ;
    /*sortie 1*/
    PROC FREQ DATA=SASHELP.CLASS;
    table sex;
    run;
     
    ODS RTF ("SECOND") file="&Fichiers/secondaire.rtf" ;
    /*sortie 2 */
    proc freq data=SASHELP.CLASS;
    table name;
    run;
    ODS RTF ("SECOND") CLOSE;
     
     
    /* sortie 3*/
    PROC FREQ DATA=SASHELP.CLASS;
    table HEIGHT;
    run;
    ODS  RTF ("PRINC") CLOSE;


    Merci d'avance pour votre aide et vos conseils.

  2. #2
    Expert confirmé
    Bonjour.
    Je dirais que
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ODS RTF ("second") EXCLUDE ALL ;
    et
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ODS RTF ("second") SELECT ALL ;
    doivent fonctionner, je n'ai pas testé.
    On peut aussi remplacer ALL par le nom d'un ou de plusieurs objets pour être plus précis.
    Bon courage.
    Olivier

  3. #3
    Candidat au Club
    Bonjour Olivier,

    merci beaucoup, c'est exactement ce qu'il me fallait

    Voilà le code final:


    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
    ODS RTF ("PRINC") file="&Fichiers/PRINCIPAL.rtf" ;
    /*sortie 1*/
    PROC FREQ DATA=SASHELP.CLASS;
    table sex;
    run;
     
    ODS RTF ("SECOND") file="&Fichiers/secondaire.rtf" ;
    ODS RTF ("PRINC") EXCLUDE ALL;
     
    /*sortie 2 */
    proc freq data=SASHELP.CLASS;
    table name;
    run;
    ODS RTF ("SECOND") CLOSE;
     
    ODS RTF ("PRINC") SELECT ALL;
     
    /* sortie 3*/
    PROC FREQ DATA=SASHELP.CLASS;
    table HEIGHT;
    run;
    ODS  RTF ("PRINC") CLOSE;