Salut,
J'aurai une question concernant l'utilisation de la fonction CALL SYMPUT:
Lorsque je crées des macro variables avec un CALL SYMPUT par exemple :
Si je veux les utiliser directement comme cela , cela provoque une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 data _NULL_; set courb.tableintermediaire; CALL SYMPUT(COMPRESS("numclasseanc"||_N_),numclasse); CALL SYMPUT(COMPRESS("numclassenouv"||_N_),numclassenouv); run;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 data courb.previsioncourante; set courb.previsioncourante; %do i=1 %to &nombreclasse.; prev&&NUMCLASSENOUV&i.=prevision_client&&NUMCLASSEANC&i.; drop prevision_client&&NUMCLASSEANC&i.; %end; run;
Je suis obliger de redéclarer des macro variables intermédiaires à l'intérieur de l'étape DATA comme cela pour que ça marche et je voulais savoir pourquoi?
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 data courb.previsioncourante; set courb.previsioncourante; %do i=1 %to &nombreclasse.; %let indi=&&NUMCLASSEANC&i.; %let ind2i=&&NUMCLASSENOUV&i.; prev&ind2i.=prevision_client&indi.; drop prevision_client&indi.; %end; run;
Partager