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 :

Création format numérique avec sélection du nombre de décimale à afficher


Sujet :

ODS et reporting

  1. #1
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut Création format numérique avec sélection du nombre de décimale à afficher
    Bonjour à tous,

    Après avoir cherché dans le forum et sur le net je n'ai pas trouvé de solution à mon problème ...

    Je voudrait créer un format numérique avec sélection du nombre de décimale à afficher (ça me paraissait simple en théorie !)

    Exemple de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mois     valeurs
    janvier  21532,3254
    février  426541,1254
    Je voudrais afficher en format de sortie :
    * le séparateur des milliers.
    * un nombre variable de décimale

    exemple de sortie désirée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mois     valeurs          résultat      format
    janvier  21532,3254    21 532,32   toto9.2
    février  426541,1254   426 541,1   toto9.1
    J'arrive à des résultats corrects pour le séparateur de milliers, mais pas à faire varier mon nombre de décimale !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    valeurs          résultat      format
    21532,3254    21 532,32   toto9.2
    426541,1254   426 541.12   toto9.1
    426541,1254   426 541.12   toto9.0
    Ci-dessous mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PROC FORMAT 
    	LIB=WORK;
    	PICTURE toto
    		LOW -< 0 = "000 000 009,09" (DECSEP = "," DIG3SEP = " " PREFIX = "- ")*/
    		0 - HIGH = "000 000 009,09" (DECSEP = "," DIG3SEP = " ")
    	;
    RUN ;
    Je n'arrive pas à voir ou je me trompe dans la création de mon format
    Merci d'avance de l'aide apportée.

  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 : 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.
    Je ne suis pas sûr de bien comprendre la règle qui décide du nombre de décimales à afficher dans ton résultat espéré. A part les formats BEST de SAS, je crois qu'il n'y a que des nombres fixes de décimales à afficher.
    Cela dit, sur les données que tu proposes, un format NLNUM9.2 afficherait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mois     valeurs
    janvier  21 532,33
    février  426 541,1
    car l'impératif de longueur (9 caractères tout compris) est prioritaire sur le nombre de décimales souhaité (ici 2, qui ne pourra être satisfait que pour les nombres positifs strictement inférieurs à 100 000).
    Bon courage.
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Merci de ta réponse.
    le but de créer un format était de pouvoir utiliser la fonction PREFIX qui me permettait d'ajouter un texte (je ne l'avait pas bien indiqué), sinon, oui, le format NNLNUM9.2 me conviendrait.

    Pour avancer, j'ai trouvé comment jouer sur le nombre de décimales, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PROC FORMAT 
    	LIB=WORK;
    	PICTURE toto (min=0.2 max=15.2)
    		LOW -< 0 = "000 000 009,09" (DECSEP = "," DIG3SEP = " " PREFIX = "- ")*/
    		0 - HIGH = "000 000 009,09" (DECSEP = "," DIG3SEP = " ")
    	;
    RUN ;
    mais (et oui, il y a un mais ...) je perd ma séparation de milliers !

    Je continue à chercher

  4. #4
    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
    Est-il nécessaire que ce soit forcément un format ? Est-ce qu'une création de variable texte ne ferait pas l'affaire ? Parc'alors on appliquerait le NLNUM9.2 avec un PUT tout simple avant de concaténer le préfixe.
    Bon courage.
    Olivier

  5. #5
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Citation Envoyé par olivier.decourt Voir le message
    Est-il nécessaire que ce soit forcément un format ? Est-ce qu'une création de variable texte ne ferait pas l'affaire ? Parc'alors on appliquerait le NLNUM9.2 avec un PUT tout simple avant de concaténer le préfixe.

    Ben en fait, c'est ce que j'avais fait en premier ... je pensais que ça serais plus simple en créant un format.
    Je ne vais pas perdre de temps et rester sur cette solution !

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/03/2010, 10h04
  2. Création d'un tableau avec texte et nombre
    Par mfontan dans le forum MATLAB
    Réponses: 6
    Dernier message: 02/02/2010, 15h33
  3. [AC-2003] Pb format numérique après concaténation avec texte
    Par Tipstitou dans le forum IHM
    Réponses: 2
    Dernier message: 30/05/2009, 19h40
  4. problème avec Excel et nombre de décimales
    Par Tah-ft dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2009, 10h18
  5. Réponses: 3
    Dernier message: 05/09/2007, 14h00

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