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 :

Insertion de ligne via une proc report


Sujet :

ODS et reporting

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Insertion de ligne via une proc report
    Bonjour,

    Je souhaite insérer une ligne horizontale (à chaque changement de modalité d'une variable groupe) dans une sortie RTF via une proc report.

    J'ai essayé "break after vargroup / UL ; " mais aucune ligne n'est créée dans le tableau.

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 221
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Sasuser7000 Voir le message
    Bonjour,

    Je souhaite insérer une ligne horizontale (à chaque changement de modalité d'une variable groupe) dans une sortie RTF via une proc report.

    J'ai essayé "break after vargroup / UL ; " mais aucune ligne n'est créée dans le tableau.

    Merci d'avance pour votre aide.
    Salut SAS User7000,

    Essaie ceci

    Code sas : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    compute after ta_variable_de_groupe;
         line ' ' ; (ou line @3 si tu veux par exemple ecrire quelque chose à partir de la  troisième position verticale).
    endcomp;

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Bonjour Foxrol,

    En fait ce que je veux c'est tracer une ligne horizontale avant chaque nouvelle valeur de la variable groupe. Pour l'instant, j'ai trouvé une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Compute after line;
    	line 91*"_" ;
    endcomp ;
    Mais je pense qu'il existe une solution plus élégante.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 221
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Sasuser7000 Voir le message
    Mais je pense qu'il existe une solution plus élégante.
    .

    Plus élégante? je sais pas. Je ne sais même pas si l'élegance est le point fort de SAS. il faut parfois "bidouiller" pour arriver au résultat

  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
    Bonjour Yann.
    Non, pas forcément beaucoup plus élégant. A part aller écrire le code RTF qui trace une ligne horizontale, ou modifier le style global de ton document RTF (un attribut RULES=GROUPS dans l'élément de style TABLE).
    De nombreuses options de la proc Report comme UL, DUL, SKIP, etc. ne fonctionnent que dans la fenêtre Output et pas vers les autres destinations ODS.
    Bon courage.
    Olivier
    Bon courage.
    Olivier

  6. #6
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Insérer une ligne entre les modalités d'une variable groupe
    Bonjour,

    Ce message est un peu ancien mais voici une autre solution en identifiant la dernière ligne du groupe et en la mettant en forme :

    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
    proc sort data=sashelp.class out=class;
      by sex;
    run;
     
    data class;
      set class end=end;
      by sex;
      if last.sex and not end then last=1;
    run;
     
    proc report data=class;
      define last / display noprint;
      compute last;
        if last then call define(_row_,'style','style=[borderbottomwidth=1.5pt borderbottomcolor=black]');
      endcomp;
    run;
    Cordialement,

Discussions similaires

  1. libellé du total de lignes dans une proc report
    Par enicnath dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 23/07/2010, 08h37
  2. Saut de ligne dans une proc report et ODS tagset.ExcelXP
    Par l'breton du 29 dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 22/07/2009, 19h42
  3. Saut de ligne dans une proc report (ou print)
    Par nunien22 dans le forum ODS et reporting
    Réponses: 7
    Dernier message: 10/03/2009, 10h11
  4. Insertion de champ via une boucle
    Par mat67000 dans le forum Access
    Réponses: 13
    Dernier message: 26/06/2007, 13h53
  5. echec d'insertion de ligne dans une table
    Par foblar dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/07/2006, 10h13

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