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

SAS Base Discussion :

Nombre de caractère contenu dans une observation


Sujet :

SAS Base

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Par défaut Nombre de caractère contenu dans une observation
    Bonjour,
    Y a t-il une fonction qui puisse retourner le nombre de caractères d'une observation numerique.

    Example:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    data x;
     
    y 5.;
    cards;
    19951
    20052
    1992
    run;
     
    data x;
    set x;
    l=length(y);
    run;
    La fonction length() me retourne plutôt la taille de la variable qui est 5. Or je veux avoir 4 pour 1992 et 5 pour les deux autres

    Merci pour votre aide.

  2. #2
    Membre expérimenté


    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Par défaut
    Bonjour,
    Tu as déjà beaucoup de fautes dans ton étape data!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    data x;
    INPUT Y$;
    cards;
    19951
    20052
    1992
    ;
    run;
     
    data x;
    set x;
    l=length(y);
    run;
    Ce code te retourne la solution voulue.
    Les balises code
    FAQ SAS
    Rubrique SAS

    Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Par défaut
    Citation Envoyé par fafabzh6 Voir le message
    Bonjour,
    Tu as déjà beaucoup de fautes dans ton étape data!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    data x;
    INPUT Y$;
    cards;
    19951
    20052
    1992
    ;
    run;
     
    data x;
    set x;
    l=length(y);
    run;
    Ce code te retourne la solution voulue.
    Merci beaucoup et tu as raison pour les fautes mais en fait j'ai dejà les données dans mon system. Je n'ai donc pas bésoin de les y introduire. Sinon, quand je procède comme tu as indiqué avec les données ci-dessus, j'obtiens effectivement le bon resultat. Seulement, ca ne marche pas avec ma variable qui est de type numerique. Là j'obtiens un resultat uniforme pour toutes les observations. Et si je la transforme en caractère, ca ne change aussi rien, toujours le même resultat uniforme

  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 : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Si ta variable de base est numérique, je te conseille la formule suivante :
    LENGTH(PUT(Y, BEST32. -L))
    Tes valeurs sont actuellement constantes parce que SAS compte les blancs à gauche ajoutés lors de la conversion. D'où l'ajout du -L (aligne à gauche) dans le PUT.
    Olivier

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Par défaut
    Citation Envoyé par olivier.decourt Voir le message
    Si ta variable de base est numérique, je te conseille la formule suivante :
    LENGTH(PUT(Y, BEST32. -L))
    Tes valeurs sont actuellement constantes parce que SAS compte les blancs à gauche ajoutés lors de la conversion. D'où l'ajout du -L (aligne à gauche) dans le PUT.
    Olivier
    Merci Ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] Chaine de caractères contenue dans une autre
    Par filoulebauju dans le forum Langage
    Réponses: 3
    Dernier message: 04/09/2009, 09h29
  2. Réponses: 2
    Dernier message: 24/01/2008, 13h32
  3. Connaitre le nbre de caractère contenu dans une cellule Excel
    Par darkspoilt dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/09/2007, 10h19
  4. Réponses: 7
    Dernier message: 20/04/2007, 16h42
  5. Réponses: 28
    Dernier message: 11/10/2006, 22h36

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