Bonjour à tous !
Je rencontre un problème tout à fait inattendu qui me paraît simple mais en même temps je m'arrache les cheveux pour trouver une solution...
J'ai une table comme ci-dessous :
Anncpt
2003
2004
2005
2006
2007
2008
2009
2010
2012
Je voudrais enregistrer comme macro-variable ann_1 la valeur 2003, ann_2 la valeur 2004 etc jusqu'à ann_9 la valeur 2012.
J'utilise pour cela le code (ma table qui est en fait une colonne s'appelle annees_a_considerer) :
Et SAS n'enregistre que jusqu'à ann_8, pour lui ann_9 n'existe pas alors qu'elle devrait valoir 2012.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 data annees_a_considerer_test; set annees_a_considerer; call symput('ann_'||compress(compteur),anncpt); run;
J'utilise cette procédure car les années pourront changer si les données en entrée sont différentes, je ne peux pas les inscrire en dur.
Je signale que ce code fonctionne pour des années qui se suivent, par exemple la même table avec de 2003 à 2012 sans trou comme ici. Mais ce que je ne comprends pas, c'est que ce code devrait marchait aussi dans ce cas.
Avez-vous une idée ?
Merci !
Partager