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 30/05/2011, 14h39   #1
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 1
Points : 1
Par défaut Concaténation de variables contenant des valeurs manquantes

Bonjour,


Je dispose de 5 variables et je souhaite créer une variable en les concaténant.
J'ai utilisé !! mais ça ne fonctionne pas car mes variables contiennent des valeurs manquantes (mais c'est normal).
Comment puis-je faire pour les concaténer même en ayant des valeurs manquantes?

Merci
Lilouche52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 14h47   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
Bonjour,
si t'es en version 9 de sas (V9) il y a les fonctions:

Code :
1
2
3
4
5
6
7
8
 
cat(var1,var2,var3,var4,var5);
 
catt(var1,var2,var3,var4,var5);
 
cats(var1,var2,var3,var4,var5);
 
catx(var1,var2,var3,var4,var5);
t'as aussi la concatination avec les (!!) ou sinon avec les pipe ( || ) ... avec la fonction compress pour éliminé tout les blancs.

à condition que tes variables soit de type ALPHANUMERIQUE. sinon sa ne marchera pas ou sinon il faut convertir tes variables numérique en alphanum et t'as pour celà la fonction
Code :
put( var_numérique, $x.d);
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h03   #3
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
ben si ca fonctionne avec du numérique.

Code :
1
2
3
4
5
6
DATA test;
SET sashelp.Class;
mavar=.;
concat=cats(age,height,weight,mavar);
concatx=catx('/',age,height,weight,mavar);
run;
Je pense que le point fait un peu bizarre simplement. La transformation peut alors avoir son intérêt.
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h06   #4
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 1
Points : 1
Avec !! et || ça ne fonctionne pas.
J'ai essayé les fonctions cat ça ne veut pas non plus.

Mais variables sont de type texte, ce sont des chaines de caractéres
Lilouche52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h09   #5
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
Sa fonctionne quand même dans le cas d’un mélange de variables numériques et variables alphanumériques. ?!
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h09   #6
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
Tu as du te tromper dans la syntaxe. Avec celle ci-dessous ca devrait fonctionner. Si ca ne marche pas fait nous parvenir la tienne

Code :
1
2
newcar=var1!!var2;
newvar2=cat(var1,var2);
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h10   #7
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
Citation:
Envoyé par Lilouche52 Voir le message
Avec !! et || ça ne fonctionne pas.
J'ai essayé les fonctions cat ça ne veut pas non plus.

Mais variables sont de type texte, ce sont des chaines de caractéres
c'est quoi qui ne fonctionne pas ? donne un exemple de jeux de données et le résultat souhaiter.Pour qu'on puisse avroir une visoin de ce que tu veux vraiment faire.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h22   #8
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
Oui des mélanges également.

Citation:
15 DATA test;
16 SET sashelp.Class;
17 mavar=.;
18 concat=cats(sex,age,height,weight,mavar);
19 concatx=catx('/',sex,age,height,weight,mavar);
20 run;

NOTE: There were 19 observations read from the data set SASHELP.CLASS.
NOTE: The data set WORK.TEST has 19 observations and 8 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h33   #9
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
merci.
j'ai remplacé mavar=. ( numérique) par mavar= ' ' caractère et sa marche.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 14h26   #10
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 1
Points : 1
C'est bon merci ça fonctionne!
Lilouche52 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 17h21.


 
 
 
 
Partenaires

Hébergement Web