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/07/2011, 11h04   #1
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Par défaut Option de suppréssion d'observations

Bonjour,
Quelqu'un connaitrait-il une option qui permet de supprimer une observation si toutes les variables numériques ne sont pas renseignées?
Merci de votre aide!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h21   #2
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 veux dire quoi par

Citation:
si toutes les variables numériques ne sont pas renseignées
toutes les variables numeriques sont manquantes? avec un where a plusieurs criteres et des "and", pour former une seule condition. Ces observations ne seront alors pas lues.
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h28   #3
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
Bonjour

je ne crois pas que cela existe.

Cordialement
__________________
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 26/07/2011, 11h29   #4
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Désolé de ne pas donner plus de précisions, mais je voudrais faire ça de façon automatique ie que je ne connais pas au préalable le nombre ainsi que les noms de mes variables.
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h31   #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
récupères tes variables numérique dans une macro variable et applique la fonction NMISS.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h43   #6
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
NMISS peut s'appliquer sur une liste de variables?
si j'arrive à récuperer mes variables dans la macro liste come suit:
%let liste=var1 var2 var3; comme j'utilise cette fonction?
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h47   #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
tu peux utiliser un array et vérifier si toutes les valeurs sont vides...
__________________
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 26/07/2011, 11h51   #8
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Je ne vois pas trop comment, vu que je vais parcourir chaque dimension de mon vecteur. Je voudrais supprimer la ligne que si toutes mes variables sont manquantes.
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h54   #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
inspère toi de ce petit exemple. PS: t'aua besoin du nombre de colonnes. ici c'est deux (a et b)
il faut récupérer tes colonnes numérque dans une macro variable separer avec des ',' . puis tu peux récupérer le nombre de tes colonnes dans une macro variable pout utilisation par la suite dans if nmiss(&mes_var_num)=&nbr_var then delete.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
 
DATA tab;
a=.;
b=.;
c='to_delete';
d=nmiss(a,b);
run;
 
DATA tab1;
SET tab;
IF nmiss(a,b)=2 then DELETE;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/07/2011, 12h05   #10
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Voici ce que ça donne avec la fonction NMISS, merci à tous!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DATA tab;
input a b;
cards;
1 2
. .
3 6
 
;
run;
 
proc contents DATA=tab out=out;
run;
 
proc sql;
SELECT name INTO: l separated BY "," FROM out;
SELECT count(*) INTO:eff FROM out;
quit;
%put l=&l.;
 
 
DATA tab1;
SET tab;
IF nmiss(&l.)=&eff. then DELETE;
run;;
@Sam: prends des vacances quand même
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 12h22   #11
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
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
DATA tab;
SET sashelp.class;
IF _n_ >10 then do;
height=.;
weight=.;
age=.;end; 
IF _n_ >5 OR _n_<10 then do;
age=.;
weight=.;end;
run;
 
proc sql noprint;
 
SELECT name INTO: var separated BY ',' FROM dictionary.COLUMNS WHERE upcase(libname)='WORK' AND upcase (MEMNAME)="TAB" AND type="num";quit;
 
%put &var.;
%put &sqlobs.;
 
 
DATA tab1 tab2;
SET tab;
IF nmiss(&var.)=&sqlobs. then output tab1 ;else output tab2;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 12h24   #12
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
oups. Tu t'es déjà debrouillé tout seul.

il te manque de cliquer sur
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 13h07   #13
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Merci Sam!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h27   #14
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Code :
IF N(OF _NUMERIC_) = 0 THEN DELETE ;
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h32   #15
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Merci Olivier!
MEGAMIND2 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 07h36.


 
 
 
 
Partenaires

Hébergement Web