Bonjour à tous,
J'ai un petit problème avec le call symput. J'ai un petit morceau de programme qui fonctionne très bien quand je n'ai besoin de le faire qu'une seule fois:
Cependant, je dois le reproduire sur plusieurs années (j'ai donc un table qui correspond à chaque année). J'ai bêtement essayé ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Proc contents data= limitm_FR out=contents; run; Proc sql; Create table temp as Select distinct count(NAME) as nb_var from contents where name like "FR%"; quit; Data _NULL_; set temp; Call symput("nb_var",nb_var); run;
Sauf que le Call sympput n'aime pas nb_var_&annee et j'ai comme résultat nb_var_2011 etc.
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
16
17
18
19
20 %Macro LPP4; %do annee=2011 %to 2017; Proc contents data= limitm_FR_&annee out=contents; run; Proc sql; Create table temp as Select distinct count(NAME) as nb_var from contents where name like "FR%"; quit; Data _NULL_; set temp; Call symput("nb_var_&annee",nb_var); run; %end; %mend LPP4; %LPP4;
Je pense que c'est une erreur bête, mais je ne vois pas comment m'en sortir.
Merci par avance pour toute l'aide que vous pourrez m'apporter.
Camille
Partager