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 26/08/2008, 16h09   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2008
Messages : 45
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2008
Messages : 45
Points : 13
Points : 13
Par défaut Fonction pour supprimer des caractères dans un champs texte

Bonjour,

J'ai une base de données où les données non applicables, manquantes ou illisibles sont signalées par la présence de "888". Ainsi dans un champs texte, je peux avoir "le cas n°888 a un 888". Hors je dois transformer les "888" en vide.

On m'a dit d'utiliser la fonction compress (cf code ci-dessous) pour le faire mais ça ne marche pas correctement : En effet il supprime aussi bien les "8" (d'une date par exemple) que les "888".

Code :
1
2
3
4
5
6
7
DATA batch3.correct6; 
 
SET batch3.correct5;
 
casenb = compress (casenb,"888");
 
run;
Avez-vous une idée de fonction qui pourrais faire ce que je veux?

Merci d'avance
wizou44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 16h17   #2
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 42
Points : 29
Points : 29
Bonjour,

Il ne faut pas utiliser compress, compress sert à supprimer la "LISTE" de caractères que tu lui donne, c'est pourquoi il te supprime tout les 8 qu'il rencontre.

Essaye plutot la fonction :TRANWRD(source,target,replacement)

Ex. :

Code :
1
2
3
4
DATA batch3.correct6; 
SET batch3.correct5;
casenb = TRANWRD(casenb,"888","") ;
run;
alexd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2008, 09h13   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2008
Messages : 45
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2008
Messages : 45
Points : 13
Points : 13
ça marche nickel

Merci
wizou44 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 22h01.


 
 
 
 
Partenaires

Hébergement Web