Bonjour tout le monde,
je viens de décomposer ma macrovariable qui contient une liste de valeurs, en plusieurs macrovariables qui contiennent ces valeurs avec le programme suivant :
Le problème c'est que autres macro ds mon programme global ne connait pas les valeurs des macrovariables crées par la marci %decompse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 %macro decompose ; %do i=1 %TO &numb_tick. ; %let titre&i.= %scan(&list., &i, %str( )) ; %put titre&i.=&&titre&i.. ; %end ; %mend ; %decompose ;
Car l'exécution de la macro suivante qui doit normalement connaitre les valeurs de mes macrovariables, je rencontre le problème de non-exécution avec le msg log suivant :
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 %macro risk ; %do i=1 %to &numb_tick. ; proc risk ; environment open = "&dir.optim"; setoptions alpha = &alpha ; declare riskfactors = ( &titre&i num var label = "&titre&i share price" refmap = (compref = "&titre&i")); environment save; run ; %end; %mend; %risk ;
et le msg log :
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 risk ; %do i=1 %to &numb_tick. ; proc risk ; environment open = "&dir.optim"; setoptions alpha = &alpha ; declare riskfactors = ( &titre num var label = "&titre share price" refmap = (compref = "&titre")); environment save; run ; %end; %mend;
Est ce quelqu'un peut m'aidez pour résoudre ce problème.





Répondre avec citation






Partager