Création d'une macro-variable composée de deux macros variables
Bonjour,
J'essaie d'automatiser un code qui permet, à partir d'une liste de variables, de décomposer chacune d'entre elles en plusieurs variables binaires.
Exemple : Variable varA va génerer VarA1 jusqu'à VarA20
Variable VarB va générer VarB1 à VarB20 etc...
J'ai créé le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| %macro TDC (listevar, prefixe);
%let i=;
%let j=1;
%let var = %scan(&listevar,&j," ");
%let pref = %scan(&prefixe,&j," ");
%do %while (&j<=1);/*43*/
proc univariate data=sortie.base_acm noprint;
output out=&var PCTLPTS=0 TO 100 BY 5 PCTLPRE=&pref;
var &var;
run;
%do i=0 %to 100 %by 5;
%let source=;
proc sql;
select &pref.&i into : source from &var;
quit;
%let &pref.&i = &source;
%put &pref.&i = &&pref.&i;
%end; |
prefixe = une liste de préfixe qui composera le nom de mes variables binaires
listevar = une liste de variable à décomposer.
Mon problème concerne : %let &pref.&i = &source;
qui me renvoie une valeur vide lorsque je fais %put &pref.&i = &&pref.&i;
J'ai essayé avec un call symput, call symputx (les deux dans des "data _null_"), un %let et rien de fonctionne.
Ma collègue a eu le même souci et n'a pas trouvé de solution.
Merci d'avance pour votre aide