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

  1. #1
    Membre à l'essai
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 16
    Points
    16

    Par défaut Inverser l'ordre du Nom Prénom en programmation SAS

    Bonjour,

    Sauriez vous comment inverser l'ordre du Nom Prénom en programmation SAS?

    Ex :

    GERARD TANGUY => TANGUY GERARD

    Merci pour votre aide !

    Cordialement,

  2. #2
    Membre éclairé
    Inscrit en
    novembre 2009
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 414
    Points : 802
    Points
    802

    Par défaut Inverser l'ordre du Nom Prénom

    Bonjour,

    NB : Votre problème nécessite que les prénoms et les noms composés soient enregistrés comme tel, ce que vous pouvez vérifier en comptant le nombre de mots.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data test;
      input prenom_nom $20.;
      cards;
    JEAN-MICHEL TANGUY
    JEAN MICHEL TANGUY
    ;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data test;
      set test;
      countw=countw(prenom_nom, " ");
      if countw=2 then do;
        prenom=scan(prenom_nom, 1, " ");
        nom=scan(prenom_nom, 2, " ");
        nom_prenom=catx(" ", nom, prenom);
      end;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         prenom_nom        countw      prenom        nom          nom_prenom
     JEAN-MICHEL TANGUY       2      JEAN-MICHEL    TANGUY    TANGUY JEAN-MICHEL
     JEAN MICHEL TANGUY       3
    Cordialement,

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    janvier 2013
    Messages
    431
    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 : 431
    Points : 1 429
    Points
    1 429

    Par défaut

    Bonjour,
    Une deuxième solution envisageable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data nom_prenom ;
    input Prenom_Nom $20. ;
    LN=length(scan(Prenom_Nom, -1,' ')) ;
    LPN=length(Prenom_Nom) ;
    Nom_Prenom=catx(' ', scan(Prenom_Nom, -1,' '), substr(Prenom_Nom, 1, LPN-LN)) ; 
    cards ;
    JEAN-MICHEL TANGY
    JEAN MICHEL TANGY
    ; run ;
    Cordialement Ward

  4. #4
    Membre éclairé
    Inscrit en
    novembre 2009
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 414
    Points : 802
    Points
    802

    Par défaut Inverser l'ordre du Nom Prénom

    NB : L'alternative gère l'absence de trait d'union dans le prénom mais pas dans le nom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
           Prenom_Nom           LN    LPN           Nom_Prenom
    JEAN-MICHEL DUPONT-TANGY    12     24    DUPONT-TANGY JEAN-MICHEL
    JEAN MICHEL DUPONT-TANGY    12     24    DUPONT-TANGY JEAN MICHEL
    JEAN-MICHEL DUPONT TANGY     5     24    TANGY JEAN-MICHEL DUPONT
    JEAN MICHEL DUPONT TANGY     5     24    TANGY JEAN MICHEL DUPONT
    Cordialement,

  5. #5
    Membre à l'essai
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 16
    Points
    16

    Par défaut

    Merci pour votre aide !

    Citation Envoyé par hossward Voir le message
    Bonjour,
    Une deuxième solution envisageable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data nom_prenom ;
    input Prenom_Nom $20. ;
    LN=length(scan(Prenom_Nom, -1,' ')) ;
    LPN=length(Prenom_Nom) ;
    Nom_Prenom=catx(' ', scan(Prenom_Nom, -1,' '), substr(Prenom_Nom, 1, LPN-LN)) ; 
    cards ;
    JEAN-MICHEL TANGY
    JEAN MICHEL TANGY
    ; run ;
    Cordialement Ward

  6. #6
    Membre à l'essai
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 16
    Points
    16

    Par défaut

    Merci, votre solution marche très bien !

    Citation Envoyé par mgdondon Voir le message
    Bonjour,

    NB : Votre problème nécessite que les prénoms et les noms composés soient enregistrés comme tel, ce que vous pouvez vérifier en comptant le nombre de mots.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data test;
      input prenom_nom $20.;
      cards;
    JEAN-MICHEL TANGUY
    JEAN MICHEL TANGUY
    ;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data test;
      set test;
      countw=countw(prenom_nom, " ");
      if countw=2 then do;
        prenom=scan(prenom_nom, 1, " ");
        nom=scan(prenom_nom, 2, " ");
        nom_prenom=catx(" ", nom, prenom);
      end;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         prenom_nom        countw      prenom        nom          nom_prenom
     JEAN-MICHEL TANGUY       2      JEAN-MICHEL    TANGUY    TANGUY JEAN-MICHEL
     JEAN MICHEL TANGUY       3
    Cordialement,

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

Discussions similaires

  1. [Exchange 2010] Comment Afficher les noms de la liste d'adresse dans l'ordre 'Nom Prénom' ?
    Par tamyme dans le forum Exchange Server
    Réponses: 1
    Dernier message: 05/05/2011, 10h33
  2. Réponses: 10
    Dernier message: 26/12/2008, 11h17
  3. Réponses: 6
    Dernier message: 14/06/2006, 15h27
  4. inverser l'ordre de lecture des post
    Par serge-07 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 19/04/2006, 10h31
  5. [VB] Nom & Prénom : extraire Nom
    Par ptitsoleil87 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/12/2005, 12h02

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