Bonjour,
sorry, encore une question concernant les conditions sur une macrovariable; mais je n'ai pas trouvé la réponse à mon problème dans les anciens messages.

Voilà, je voudrais créer une variable sex , qui vaudrait 1 quand &sex=m et 2 quand &sex=f.
Avec le code ci-dessous, il crée bien une variable sex qui vaut 1 la première fois que je le fais tourner si &var=m; mais si je recommence avec &var=f (ou une autre valeur), sex vaut toujours 1.
De plus, il crée 2 nouvelles variables, m et f , inutiles et vides.

J'ai essayé ce meme code avec des guillemets et des doubles guillemets , ça ne marche pas non plus....

Pouvez-vous m'aider svp ? je m'arrache les cheveux ....merci , Françoise

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
%let sex=m;
data RR_educat4_9193_m;
set RR_educat4_9193_m_0;
where substr(B,3,3)='edu' or substr(B,4,3)='edu';
length Measure $10  SES_Var $7    ; Measure='Risk Ratio';
sex=0;
if &sex=m then sex=1;
else if &sex=f then sex=2;
run;