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 10/11/2011, 13h23   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 180
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 180
Points : 34
Points : 34
Par défaut Suppression des observations

Bonjour,

dans ma base ,je souhaite supprimer des observations ayant les carctéristiques suivantes sur une même ligne :

pcent=1 et 0.1<age<0.4

j'ai assayé le code suivant :


Code :
1
2
3
4
5
6
DATA supr ;
SET bdd;
array lp {*}  _numeric_;
do j=1 TO dim(lp) ; 
IF ( lp(j)=1  AND 0.1<lp(j+1)<0.4) then DELETE; 
end ; run;
mais ça ne marche pas.

Merci d'avance pour votre aide.
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 13h37   #2
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 957
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 957
Points : 1 368
Points : 1 368
Bonjour,

Pourquoi tu te compliques la vie avec des vecteurs?
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 13h46   #3
Membre à l'essai
 
Inscription : novembre 2008
Messages : 41
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2008
Messages : 41
Points : 22
Points : 22
Bonjour,

Je suis d'accord avec megamind, le code ci-dessous aurait suffit :

Code :
1
2
3
4
DATA supr ;
SET bdd;
IF ( var1=1  AND 0.1<var2<0.4) then DELETE; 
run;
maverik40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 14h26   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 011
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 011
Points : 1 712
Points : 1 712
Code :
1
2
3
4
 
DATA supr;
SET bdd(WHERE=(pcent ne 1  AND  age<0.1 OR age>0.4 ));
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 15h54   #5
Membre Expert
 
Inscription : mars 2005
Messages : 1 010
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 010
Points : 1 258
Points : 1 258
Envoyer un message via Yahoo à bahraoui
Effectivement c'est compliqué comme solution, mais il me semble que le code est bon.
SAM il te manque des parenthèses:
Code :
1
2
3
4
5
6
7
8
 
DATA t;
a=1; b=2; c=3;
run;
DATA t1; SET t;
IF a=1 AND b=2 OR c=3 then t1=1;
IF (a=1 AND b=2) OR c=3 then t2=2;
run;
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 16h06   #6
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 011
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 011
Points : 1 712
Points : 1 712
Exact. Merchi

Code :
1
2
3
4
 
DATA supr;
SET bdd(WHERE=(pcent ne 1  AND  (age<0.1 OR age>0.4) ));
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 16h09   #7
Membre Expert
 
Inscription : mars 2005
Messages : 1 010
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 010
Points : 1 258
Points : 1 258
Envoyer un message via Yahoo à bahraoui
L'opérateur AND est plus prioritaire que l'opérateur OR
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 16h43   #8
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 011
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 011
Points : 1 712
Points : 1 712
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 06h31.


 
 
 
 
Partenaires

Hébergement Web