Bonjour à tous,
J'ai un petit souci dans ma programmation que je ne m'explique pas...
Dans une macro :
J'ai une variable, dont je récupère le minimum dans une table SAS. Avec un call symput, j'attribue cette valeur à une macro-variable.
Je cherche ensuite (et c'est là que j'ai un souci!) à avoir une condition sur la suite de la macro sur cette macro variable. Le problème est que cette condition est "si macro-variable<0", et que SAS la reconnait comme caractère et non numérique. Et avec un %eval, ça ne marche pas non plus...
Voilà ma macro (simplifiée au maximum pour cet exemple) :
=> SAS n'arrive pas à reconnaitre en ma macro-variable Min une variable numérique, malgré le %eval...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 %macro test(tabin, var); proc univariate data=&tabin noprint; var &var; output out=temp0 min=min; run; data null; set temp0; call symput('Min',min); run; %put Mininimum = &Min; %if (%eval(&Min)<0) %then %do; %put toto; %end; %mend;
Avez-vous une idée?
Merci d'avance pour toute piste!!![]()
Partager