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 :

Saut de ligne dans une proc report (ou print)


Sujet :

ODS et reporting

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Saut de ligne dans une proc report (ou print)
    Bonjour,
    J'ai pu lire dans un post sur le forum qu'il était possible de sauter des lignes dans les proc report à l'aide d'une certaine commande.

    S'il s'agit d'ajouter des sauts de lignes, ça peut se faire n'importe où dans une valeur avec (*ESC*)n pour insérer des retours chariots. Ca fonctionne dans des titres, des labels, des formats...
    Je ne comprend pas comment utiliser cette commande pour faire les sauts de lignes.
    Ma problématique étant que j'ai une adresse sur plusieurs variables:

    adresse1: 5
    adresse2: rue de la gare
    codep: 75000
    adresse3: Paris

    Je souhaiterais dans une proc report (ou même une proc print) afficher ces informations les unes sur les autres et non cote à cote comme c'est le cas par défaut. Quelqu'un pourrait-il m'aider sur ce problème?
    Merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 249
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Il me semble qu'il y a confusion entre insérer des sauts de lignes dans la valeur d'une variable ou d'un objet et la structure même du fichier contenant ces variables...
    Pour changer les "lignes en colonnes", je passerais par une proc transpose...
    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
    data work.adresses ;
       input nom $ adresse1 $ adresse2 $ codep $ adresse3 $ ;
       cards ;
    tata 1 rue1 75001 ville1
    tete 2 rue2 75002 ville2
    titi 3 rue3 75003 ville3
    toto 4 rue4 75004 ville4
    tutu 5 rue5 75005 ville5
    tyty 6 rue6 75006 ville6
       ;
    run;
    proc print ; run ; /* Les données initiales... */
    proc transpose data=work.adresses out=work.adressestransposees;
    	by nom;
    	var _all_;
    run;
    proc print ; run ; /* Les données transposées... */
    Bon courage !

  3. #3
    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
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Ca ne fonctionnera à coup sûr qu'en version 9 de SAS, et à condition d'avoir de l'ODS autour (par contre, HTML, PDF, RTF, ... pas de souci).
    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
    DATA work.adresses ;
       input nom $ adresse1 $ adresse2 $ codep $ adresse3 $ ;
       adresse_complete = COMPBL(adresse1!!" "!!
       							 adresse2!!" (*ESC*)n"!!
    							 codep   !!" "!!
       							 adresse3) ;
       cards ;
    tata 1 rue1 75001 ville1
    tete 2 rue2 75002 ville2
    titi 3 rue3 75003 ville3
    toto 4 rue4 75004 ville4
    tutu 5 rue5 75005 ville5
    tyty 6 rue6 75006 ville6
       ;
    run ;
    ODS HTML FILE="c:\temp\sortie.htm" ;
    proc print ; run ;
    ODS HTML CLOSE ;
    Olivier

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par Bruno.Thevenin Voir le message
    Bonjour,

    Il me semble qu'il y a confusion entre insérer des sauts de lignes dans la valeur d'une variable ou d'un objet et la structure même du fichier contenant ces variables...
    Bonjour, j'aimerais savoir comment vous procéderiez afin d'obtenir un tel résultat.
    J'ai essayé, sans résultat pour l'instant, de trouver comment insérer des retours chariot lors d'une concaténation (avec CATX par exemple).

    Merci beaucoup.

  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
    Points : 4 478
    Points
    4 478
    Par défaut
    On peut ajouter des retours à la ligne lors de la concaténation avec la chaîne "0A"x (zéro-A hexadécimal). Mais ce code n'est pas transcrit correctement dans toutes les destinations ODS (le HTML, par exemple, l'ignore superbement).
    Par contre, ça fonctionne très bien dans les info-bulles (avec les procédures graphiques ou avec STYLE...FLYOVER).

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Merci beaucoup, ça fonctionne bien.
    Mais c'est un peu frustrant tout de même de ne pas voir ce résultat retranscrit dans un ODS HTML (ou un ODS sasreport dans mon cas).

  7. #7
    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
    Points : 4 478
    Points
    4 478
    Par défaut
    Mais pour l'ODS HTML (et ça doit fonctionner, j'imagine, dans ODS SASREPORT aussi), tu utilises la chaîne "(*ESC*)n" comme on en discute dans le reste du post : en v9, ça doit fonctionner à tous les coups via l'ODS.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Oui en effet, mais c'est soit l'un soit l'autre, soit on insert un retour chariot qui est effectif quand on regarde la table par exemple mais plus dans l'ODS HTML ("0A"x) soit c'est effectif dans l'ODS mais plus quand on regarde la table ("(*ESC*)n").

    Mais bon c'est pas bien grave, du moment qu'on ait une solution dans chaque cas.

    Merci beaucoup.

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. [AJAX] Saut de ligne dans une page html
    Par rapace dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/02/2006, 09h44
  4. Saut de ligne dans une bande d'une grille DevExpress
    Par xant dans le forum Composants VCL
    Réponses: 2
    Dernier message: 18/08/2005, 14h51
  5. Mettre une saut de ligne dans une balise alt
    Par PrinceMaster77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 16/12/2004, 08h45

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