Les posteurs les plus actifs de la semaine
gg
 
lili33
 
Eric Wajnberg
 
Sikudoo
 
ninapote
 
Ayana
 
FannyM
 
stdenis90
 
solenef
 
Nemeow
 


Comment annuler un "where"

Aller en bas

Comment annuler un "where"

Message par zezima le Mer 14 Déc 2016 - 15:48

Bonjour,

J'aimerais lancer une condition qui diffère pour chaque table dans une macro.

Exemple :
Code:

%macro where(in,out,var,condition);
data &out.;
set &in.;
log_&var.=log(&var.);
where &condition.;
run;
%mend;
%where(tab_in,tab_out,cholesterol,"age>10")

Cependant, il y a certaines tables où je n'ai aucune condition et j'aimerais annuler le "where", comme si la ligne n'existait pas.

Connaissez-vous une astuce pour ne pas bloquer le code lorsqu'il n'y a aucune condition à préciser ?

Merci d'avance.
avatar
zezima

Nombre de messages : 760
Date d'inscription : 26/02/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Comment annuler un "where"

Message par niaboc le Mer 14 Déc 2016 - 16:29

Salut,

tu peux essayer ça :


Code:
%macro where(in,out,var,condition);

   data &out.;
      set &in.;
      log_&var.=log(&var.);
      %if &condition. ne %then %do;
         where &condition.;
      %end;
   run;

%mend;

%where(tab_in,tab_out,cholesterol,age>10)



Niaboc
avatar
niaboc

Nombre de messages : 939
Age : 31
Localisation : Paris
Date d'inscription : 05/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Comment annuler un "where"

Message par zezima le Jeu 15 Déc 2016 - 14:07

Génial ! (et tellement évident au final)

Merci Smile
avatar
zezima

Nombre de messages : 760
Date d'inscription : 26/02/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Comment annuler un "where"

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum