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 :

Pourcentage et police texte


Sujet :

ODS et reporting

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Pourcentage et police texte
    Bonjour,

    Je souhaite savoir s'il y a un format, sous SAS, qui permet de mettre des valeurs numériques en pourcentage, tout en conservant le signe. Si, ce chiffre est négatif ou positif.
    Je souhaiterai savoir aussi, s'il est possible de définir une couleur de police, car je souhaite mettre une modalité en rouge, quand celle-ci est négative. Et, en vert, si c'est le contraire. Pour la réalisation d'un rapport HTML.

    Merci d'avance

  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,

    mettre des valeurs numériques en pourcentage, tout en conservant le signe
    Si les formats SAS standard ne conviennent pas, il faut passer par des pictures...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    proc format ;
       picture pourcent
          low - < 0 = '000 009,00 %' (mult=100 prefix='-')
          0 - high   = '000 009,00 %' (mult=100)
        ;
    run ;
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FORMAT MAVAR POURCENT. ;
    je souhaite mettre une modalité en rouge, quand celle-ci est négative. Et, en vert, si c'est le contraire
    C'est encore un format qui va permettre de réaliser cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    proc format ;
       value mycolor
          low - < 0 = 'red' 
          0 - high  = 'green' 
       ;
    run ;
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    STYLE=[FOREGROUND=mycolor.]
    Bon courage !

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Problème de style
    Bonjour,

    J'ai utilisé le code que Bruno m'a conseillé, pour le style sur les couleurs du texte. Mais, je n'arrive pas à l'utiliser correctement avec la procédure report.

    Merci d'avance.

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Résolu
    Excuse-moi, Bruno. En fait, c'est mon générateur SAS qui avait planté. Je te remercie de ton aide.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Je sais que ce topic est vieux mais je suis tombé dessus alors que je faisais des recherches concernant le format pourcent. Et je pense que ça ne valait pas le coup de relancer un sujet pour une question comme ça !

    J'ai donc utilisé le format proposé par Bruno.Thevenin mais ce code ne faisait "qu'ajouter" un '%' à ma valeur. Pour avoir un véritable pourcentage j'ai dû mettre 10000 comme paramètre du MULT et non 100. Mais ça me semble étrange car 100 est plus logique que 10000... Est-ce qu'il y aura une petite subtilité que je n'ai pas comprise ?

    Pour information, je travaille sur SAS Enterprise Guide 4.3 (que j'utilise comme un SAS classique, mais passons).

    Merci d'avance !

  6. #6
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    Bonjour,
    il va falloir peut être poster ce que t'as comme données en entrer pour t'expliquer le résultat de la proc format [picture].
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Lorsque je ne précise pas de format, ma PROC PRINT me donne :

    RENDEMENT
    .
    0.04528
    0.01757
    0.03641
    .
    0.03919

    Lorsque je précise le format suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROC FORMAT ;
    PICTURE POURCENT_PERSO
    	LOW - < 0 = '000 009,00%' (MULT = 10000 PREFIX = '-')
    	0 - HIGH = '000 009,00%' (MULT = 10000);
    RUN;
    Ca me donne :

    RENDEMENT
    .
    4.52%
    1.75%
    3.64%
    .
    3.91%

    Et lorsque je mets le format suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROC FORMAT ;
    PICTURE POURCENT_PERSO
    	LOW - < 0 = '000 009,00%' (MULT = 100 PREFIX = '-')
    	0 - HIGH = '000 009,00%' (MULT = 100);
    RUN;
    Ca me donne :

    RENDEMENT
    .
    0.04%
    0.01%
    0.03%
    .
    0.03%

    RENDEMENT est le résultat de la division de 2 entiers.

    Est-ce que tu as besoin de plus d'informations ?

  8. #8
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    si t'es en SAS9.2 ( je ne sais pas si c'est valable pour SAS9.1). Tu n'as pas besoin de la proc format. Tu peux utiliser un format percentw.d.

    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
     
     
    data test;
    input var best30.;
    cards;
    0.04528
    0.01757
    0.03641
    .
    0.03919
       ;
    run;
     
    proc print data=_last_;
    format 	 var percent7.6;
    run;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Je m'étais renseigné sur le format POURCENT mais celui-ci ne permet pas de traiter directement les résultats obtenus via Excel puisqu'il met des % en américain. Est-ce qu'il existe un format POURCENT français ? (un peu comme NLNUMW.D qui fonctionne parfaitement) ?

  10. #10
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    donnes un exemple de tes données Excel et ce que tu veux avoir comme résultat.
    désolé mais je ne comprends pas/voi pas la différence entre un pencent Américain(Anglais) et un pourcentage en Français.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  11. #11
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    tu voulais peut être dire la virgule au lieu du point pour le séparateur décimale ?
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Quand j'utilise le format PERCENT, les données que j'obtiens et que j'envoie vers excel ne sont pas exploitables. Par exemple, si je veux faire la somme de

    7.19%
    3.86%
    4.43%
    3.90%
    0.11%

    avec ce format, il me met 0. Le pire étant que même si je change les '.' en ',', ça ne change rien et c'est pour cela que je souhaitais définir moi-même le format.

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    j'ai fait quelques tests de mon côté et il s'avère que ce n'est pas le format qui déconne mais la façon d'envoyer les résultats sous Excel...

    Lorsque je copie-colle le résultat de ma PROC PRINT tout marche bien.
    Lorsque j'utilise "Envoyer à Microsoft Excel", rien ne marche (que ce soit pour PERCENT ou pour tout autre format).

    Je ne comprends pas très bien pourquoi mais c'est déjà mieux !

    Merci de ton aide en tout cas !

  14. #14
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    utilises tu SAS Entreprise Guide ? et export via les Wizard?
    ou avec une proc export ?
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    J'utilise bien SAS Enterprise Guide et j'utilise l'onglet "envoyez à" qui est juste au dessus de mon résultat (je ne sais pas si c'est ce que tu appelles wizard).

    Je ne peux pas utiliser le PROC EXPORT car nous avons un client léger de SAS (on peut juste exporter la table comme je l'ai fait).

  16. #16
    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 Salamandar.
    Il y a le format NLPCT qui est un pourcentage en français (avec une virgule). Selon le type d'export utilisé, il sera transmis ou pas à Excel.
    Sinon pour expliquer le 10000 plutôt que 100 dans le Picture, il faut savoir que Picture ne reconnaît pas les séparateurs décimaux dans la valeur à afficher (entre guillemets, à droite du égal). Pour lui, le chiffre le plus à droite est celui des entiers (d'où l'option ROUND pour arriver à un résultat avec un arrondi et pas une troncature).
    Donc si tu veux 2 décimales, il faut multiplier par 10000 ; si tu en veux 1, par 1000 et si tu n'en veux pas, par 100.
    Olivier
    Bon courage.
    Olivier

  17. #17
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    Citation Envoyé par olivier.decourt Voir le message
    Bonjour Salamandar.
    Il y a le format NLPCT qui est un pourcentage en français (avec une virgule). Selon le type d'export utilisé, il sera transmis ou pas à Excel.
    Sinon pour expliquer le 10000 plutôt que 100 dans le Picture, il faut savoir que Picture ne reconnaît pas les séparateurs décimaux dans la valeur à afficher (entre guillemets, à droite du égal). Pour lui, le chiffre le plus à droite est celui des entiers (d'où l'option ROUND pour arriver à un résultat avec un arrondi et pas une troncature).
    Donc si tu veux 2 décimales, il faut multiplier par 10000 ; si tu en veux 1, par 1000 et si tu n'en veux pas, par 100.
    Olivier
    oui c'est le bon format,
    et si sa ne te convient pas fait un ODS html et t'envoie en locale et tu ouvre avec Excel,
    je suppose que tu n'as pas le DBMS Excel sur le serveur.
    avec un truc moche comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    data test;
    input var 7.6;	
    var1=translate( put(var*100,7.5),',','.') !! '%';
    cards;
    0.04528
    0.01757
    0.03641
    .
    0.03919
       ;
    run;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Merci pour vos différentes réponses. Le format NLPCT passe très bien et je comprends maintenant pourquoi il faut bien multiplier par 10 000 (et par 100 lorsque l'on veut deux décimales d'ailleurs).

    Je me permets cependant de solliciter une dernière fois votre aide pour savoir s'il existaitun format euro à la française qui passerait via "envoyer à" (sinon je créerais un format grâce à picture).

  19. #19
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    EUROw.d et EUROXw.d, pour affiché E
    par contre pour afficher le €, il faut passer par l'encoding.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  20. #20
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    J'ai déjà testé ces deux formats qui ne sont pas reconnus par le fameux "envoyer à". Je vais donc passer par un format perso pour ajouter un € à la fin de mon résultat.

    En tout cas, merci à tous pour votre aide et votre réactivité !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Police texte non respecté lors d'un visionnement
    Par Angellman dans le forum Powerpoint
    Réponses: 1
    Dernier message: 12/02/2011, 07h10
  2. [SP-2007] probleme police texte et smartpart
    Par me_yassine dans le forum SharePoint
    Réponses: 1
    Dernier message: 09/12/2009, 12h50
  3. [FLASH 8] Pb de police - texte dynamique
    Par viny dans le forum Flash
    Réponses: 3
    Dernier message: 03/07/2006, 15h47
  4. police texte
    Par chti_juanito dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 07/04/2006, 15h24
  5. Réponses: 2
    Dernier message: 27/08/2004, 11h57

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