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 :

Champ caractère avec des zéros à gauche


Sujet :

SAS Base

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut Champ caractère avec des zéros à gauche
    Bonjour,


    je veux avoir un champ sur 7 caractères qui s'incrémente ex : P000001,P000002,P000003 ......etc
    Voici mon programme qui ne marche pas car mon je n'ai pas de zréos sur mon champ IDENTIFIANT.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    data "Z:\tmp\spf\LOT123456789ok";
    set "Z:\tmp\spf\LOT123456789";
    format identi  Z6.;
    if fic ne '010' then do;
    if _n_=1 then identi="000001";
    identi+1;
    identifiant=P!!identi;
    end;
    if fic = '010' then identifiant=ident;
    run;

    merci beaucoup.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Bonjour,
    Je te propose cette solution :
    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
    19
    20
    data test ;
    input fic $ ;
    cards ;
    020
    010
    010
    050
    010
    070
    010
    010
    ; run ;  
     
    data test1;
    set test;	retain identifiant ;
    if _n_=1 or fic ne '010' then do; 
    identi+1 ;
    identifiant=cats('P', put(identi, z6.)) ;
    end ; 
    run ;
    Cdt
    Ward

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Ou bien comme ça :
    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 test1;
    set test;	
    retain identifiant ;
     
    if _n_=1 then do ; identi+1 ; 
       if fic ne '010' then identifiant=cats('P', put(identi, z6.)) ;
       else 	            identifiant=put(identi, z6.) ;	
            end ;
     
    else if fic ne '010' then do; 
    identi=identi+1 ;
    identifiant=cats('P', put(identi, z6.)) ;
                       end ; 	 
    else 	 identifiant=put(identi, z6.) ;	 
    run ;

  4. #4
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    merci beaucoup.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/10/2014, 10h11
  2. Justifier un flottant avec des zéros à gauche
    Par Sve@r dans le forum Général Python
    Réponses: 7
    Dernier message: 13/05/2012, 17h27
  3. [Batch] Completer une chaine de caractère avec des 0 à gauche ?
    Par lolafrite dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 18/02/2011, 08h57
  4. Fomatter un nombre avec des zéro à gauche
    Par birt1976 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/10/2008, 17h02
  5. Cadrer une variable avec des zéros à gauche
    Par saysay dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/08/2008, 11h05

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