Bonjour à tous
mon problème est le suivant :
je cherche à multiplier des variables (ici P011 jusqu'à P013) par des indicatrices (qui correspondent à des dates) et à stocker ces résultats dans des nouvelles variables (donc créer 3 nouvelles variables par indicatrices)
le problème est que j'ai 366 indicatrices et j'aimerai pouvoir nommer mes nouvelles variables de manière à pouvoir attribuer chaque variable à une date précise
j'aurai donc aimé pouvoir récupérer le nom des variables qui sont dans mon array et non pas me contenter d'un simple &i comme dans la partie rouge
voici ma macro :
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
21 %macro IndicCAR(table, sortie); DATA _NULL_; set &table; ARRAY VECTEUR (*) date01_04_2007 -- date31_03_2008 ; CALL SYMPUT ('nombre',dim(vecteur)); RUN; data &sortie; set &table; array tab (*) date01_04_2007 -- date31_03_2008 ; %do i=1 %to &nombre.; P011_&i. = P011*tab[&i.]; P012_&i. = P012*tab[&i.]; P013_&i. = P013*tab[&i.]; %end; run; %Mend IndicCAR;
Partager