Bonjour,
J'ai une question concernant la fonction Lag en SAS.
J'ai une table de la forme
indic date
1 12/12/12
1 12/12/12
2 15/02/13
2 15/02/13
3 15/06/13
4 22/08/13
4 22/08/13
5 22/08/13
Il ne s'agit pas de doublons, j'ai d'autres variables qui complètent cette table.
Je souhaiterais obtenir la date précédente pour chaque valeur différente de la variable indic. La table serait de la forme :
indic date mavar
1 12/12/12 .
1 12/12/12 .
2 15/02/13 12/12/12
2 15/02/13 12/12/12
3 15/06/13 15/02/13
4 22/08/13 15/06/13
4 22/08/13 15/06/13
5 22/08/13 16/06/13
Avec la fonction lag, je réalise le programme suivant :
Ce programme me donne uniquement la date précédente pour la première ligne de groupe d'observations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DATA test1; SET test; BY indic; IF first.indic then mavar=lag(date); ELSE mavar=lag(date); run;
J'ai tenté de le faire en deux temps mais cela ne fonctionne pas.
Savez-vous comment procéder ?
Partager