Les posteurs les plus actifs de la semaine
doc.bass
 
ycaba
 
zezima
 
lenny868
 


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 : 809
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 : 948
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 : 809
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