Bonjour,
Je bloque sur une creation automatique de variable en fonction de champs dans ma table.
Je souhaiterais creer des variables en fonction d'un décalage en mois entre 2 dates.
Exemple :
si il y a 3 mois de décalage mettre la valeur de var1 dans var1_M03.
si il y a 2 mois de décalage mettre la valeur de var1 dans var1_M02.
....
En faite le bloque pour récupérer sur chaque ligne en macro_variable le nombre de décalage.
Ci dessous un jeu de données, je bloque sur la maro tmp.
PS : j ai essayer de mettre :
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
22
23
24
25
26
27 data don; format date_1 DDMMYY10. date_2 DDMMYY10.; input var1 var2 date_1 date_2 ; cards; 150 10 15000 15555 200 20 15000 15255 750 50 15000 . 800 00 15000 15105 1020 20 15000 . 12 2 15000 15705 8 81 15000 . 144 14 15000 15665 ; run; data don2; set don; nb_mois = intck("MONTH",date_1,date_2); run; %macro tmp(); data don_tmp; set don2; call symput('nb_mois',nb_mois); %sysfunc(compress(%sysfunc(cat(var1_M,nb_mois)))) = var1; run; %mend; %tmp;
%sysfunc(intck("MONTH",date_1,date_2));
a la place de nb_mois dans ma macro sans succes.
Merci d avance
Partager