Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Débutez
Débutez Forum concentrant les premières questions que l'on se pose en tant que débutant
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 05/05/2011, 15h32   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 28
Points : 11
Points : 11
Par défaut Créer un format permettant de convertir certaines valeurs en valeurs manquantes

Bonjour a tous,

Y a t'il moyen d'utiliser des format pour convertir des valeurs de variable renseignées en valeurs manquantes ? exemple :

Code :
1
2
3
4
5
6
7
proc FORMAT;
VALUE MonFormat 
1 = "1/"
2 = "2/"
3 = "3/"
0 = .  /* Ici je veux que le 0 devienne une valeur manquante */ 
; run;
ensuite je l'applique dans une étape data

Code :
1
2
3
4
DATA new_table ; 
SET mytable ; 
new_var = put(myvar, MonFormat. -L) ;
run ;
Le problème c'est que l'assignation 0 = . ne marche pas dans mon format. Le '.' devient une modalité comme une autre et new_var n'a aucune valeur manquante

Merci bp !
dachboden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h38   #2
Candidat au titre de Membre du Club
 
Inscription : novembre 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 28
Points : 11
Points : 11
Dsl,
J'ai trouve...
Il suffit de ne pas definir la valeur 0 dans le format.
Par default une valeur manquante sera assignee au enregistrements qui valent 0 dans l'etape data...
dachboden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h41   #3
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
Pourquoi une proc format?


Code :
1
2
 IF var=0 then var= .  ( cas numérique) 
    IF var='0' then var= '.' ( variable caractère)
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h41   #4
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
Si j'ai bien compris tu souhaites que toutes les valeurs de ta variable soient interprétées comme manquantes. 0 n'est pas une valeur manquante et appliquer un format ne change pas la valeur mais tout simplement son apparence. En arrière plan la valeur sera toujours égale à 0.

Une alternative (peut être existe-t-il qqc de mieux) consiste à créer une nouvelle variable qui prend les valeurs de l'ancienne sauf qd l'ancienne est égale à 0, auquel cas tu lui affectes un . (valeur manquante).
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h42   #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
Citation:
Envoyé par dachboden Voir le message
Dsl,
J'ai trouve...
Il suffit de ne pas definir la valeur 0 dans le format.
Par default une valeur manquante sera assignee au enregistrements qui valent 0 dans l'etape data...
OUI c'est l'option missing= qui définie sa . par deffaut =. et si tu veux avoir des ZEZO

option missing=0;
s_a_m 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 08h52.


 
 
 
 
Partenaires

Hébergement Web