Les posteurs les plus actifs de la semaine
Eric Wajnberg
 
zezima
 
Nik
 
margotte185
 
c@ssoulet
 
Coco
 
Ayana
 


Comment annuler un "where"

Voir le sujet précédent Voir le sujet suivant 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 : 747
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 : 918
Age : 30
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 : 747
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

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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