Bonjour,
j'au un problème, je veux regrouper toutes les infos concernant un même individu sur une même ligne.
On a :
- ident=l'identifiant de l'individu
- numper=le numéro de la période (jusqu'à 20 périodes)
- ga2_adeb=l'année de début
- ga2_afin= l'année de fin
- ga2_aged=l'âge
Je veux obtenir ga2_adeb_1 ga2_afin_1 ga2_aged_1 pour la première période,
ga2_adeb_2 ga2_afin_2 ga2_aged_2 pour la 2° période,
ga2_adeb_3 ga2_afin_3 ga2_aged_3 pour la 3° période,....
Comment faire ?
J'avais pensé à ceci :
Mais ça ne marche pas bien sûr...
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 proc sort data=r out=a; by ident numper; run; data b; set a; by ident; array ga2_adeb_(20) ga2_adeb_1-ga2_adeb_20; array ga2_afin_(20) ga2_afin_1-ga2_afin_20; array ga2_aged_(20) ga2_aged_1-ga2_aged_20; retain ga2_adeb_1-ga2_adeb_20 ga2_afin_1-ga2_afin_20 ga2_aged_1-ga2_aged_20; if first.ident then do; do i=1 to 20; ga2_adeb_(i)=ga2_adeb; ga2_afin_(i)=ga2_afin; ga2_aged_(i)=ga2_aged; end; end; if last.ident then output; run;
Qui saurait comment faire ??
Partager