Bonjour à toutes et à tous,
Je cherche à récupérer dans une table les enregistrements maximum d'une variable quanti en fonction d'un identifiant. Par exemple, pour le jeu de données suivant :
IDGROUPE IDPERSONNE SCORE 1 1 50 1 2 60 1 3 100 2 5 8 2 6 70 2 7 64 1 8 29
Je veux obtenir :
IDGROUPE IDPERSONNE SCORE 1 3 100 2 6 70
Pour se faire, j'ai essaye avec une proc summary :
Seulement, ce n'est pas l'individu avec le score maximum du groupe qui est sélectionné systématiquement. J'ai donc aussi essayé une proc sql :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 proc summary data=lib.data nway; class IDGROUPE; id IDPERSONNE SCORE; var score; output out=LIB.CONTROL_RISQUE_PART max=; run;
Maix ca ne fonctionne pas. Si quelqu'un s'est déjà heurté à ce problème minime, ce serait sympas d'avoir un petit coup de pouce!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 proc sql; CREATE TABLE TEST as SELECT IDGRRI, IDPART, SCORE FROM lib.CONTROL_RISQUE_FIN group by IDGRRI WHERE score=max(score); quit;
Bonne journée à tous!
Partager