Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 14h28   #1
Invité de passage
 
Homme
Consultant en Business Intelligence
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 1
Points : 1
Par défaut Modification de variable

Bonjour à tous,

J'ai reçu une base de données à analyser dont la première variable contient le nom et le prénom. Or, on me demande de modifier ça pour obtenir l'initiale du prénom et le nom.
Exemple : "Dupont Henri" deviendrait "H.Dupont"

Quelqu'un aurait une idée de la/des procédure(s) à utiliser ?

Un grand merci d'avance,
PercySun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 14h38   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

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

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Hello;

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
DATA source;
input nom_prenom $50. @@;
cards;
Dupont Henri
;
run;
 
DATA resultat;
SET source;
nom_p = catx('.',substr(scan(nom_prenom,-1,'' ),1,1),scan(nom_prenom,1,'' ) );
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 15h02   #3
Membre régulier
 
Femme Mariam
Statisticienne-Consultante BI
Inscription : avril 2008
Messages : 127
Détails du profil
Informations personnelles :
Nom : Femme Mariam
Localisation : Canada

Informations professionnelles :
Activité : Statisticienne-Consultante BI
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 127
Points : 96
Points : 96
Comme j'avais écrit un code je le poste quand même.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
DATA tab;
input var1$  1-15;
Datalines;
Dupont Henri 
Maya Cola
Mouton Saute
run;
 
DATA tab2;
SET  tab;
var2=substr(scan(var1,1,' '),1,1)||"."||scan(var1,2,' ');
 
run;
J'imagine que dans ton code sam catx =concatener.
Au moins j'ai appris cela ce matin!
MDsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 15h51   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

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

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
A partir de la version V9 SAS est doté de ces puissantes fonctions, certaines permettent aussi d’éliminer les blancs.



Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 
DATA tab;
length var1-var6 $10.;
input var1-var6   ;
Datalines;
Dupont Henri Maya Cola Mouton Saute
;
run;
 
DATA tab1 (keep= a--e);
SET tab;
a= var1!!'*'!!var2!!'*'!!var3!!'*'!!var4!!'*'!!var5!!'*'!!var6 ;
b= cat(var1,'*',var2,'*',var3,'*',var4,'*',var5,'*',var6);
c =catt (var1,'*',var2,'*',var3,'*',var4,'*',var5,'*',var6);
d= cats (var1,'*',var2,'*',var3,'*',var4,'*',var5,'*',var6);
e=catx ('*', of var:);
 
run;
Code :
1
2
3
4
5
CAT=!!= || 
CATS = TRIM+LEFT + ||
CATT= TRIM + ||
CATX(‘*’, OF VAR: )=  TRIM(LEFT(VAR1))||’*’||TRIM(LEFT(VAR2))||’*’||
TRIM(LEFT(VAR3))||’*’||TRIM(LEFT(VAR4)) ))||’*’||TRIM(LEFT(VAR5)) ))||’*’||TRIM(LEFT(VAR6))
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2011, 17h33   #5
Membre régulier
 
Femme Mariam
Statisticienne-Consultante BI
Inscription : avril 2008
Messages : 127
Détails du profil
Informations personnelles :
Nom : Femme Mariam
Localisation : Canada

Informations professionnelles :
Activité : Statisticienne-Consultante BI
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 127
Points : 96
Points : 96
MERCI pour l'info
MDsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 18h58   #6
Invité de passage
 
Homme
Consultant en Business Intelligence
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 1
Points : 1
Superbe, merci à vous !
PercySun est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h49.


 
 
 
 
Partenaires

Hébergement Web