2016-05-23 26 views
0

In SAS möchte ich die ersten paar Zeilen durch zwei Variablen class und student erhalten.SAS, wie die ersten mehrere Zeilen nach Kriterien erhalten

Hier ist meine Daten:

class student   course   note 
1  A     001    10 
1  A     002    14 
1  B     001    12 
1  B     002    8 
2  C     001    6 
2  C     002    17 
2  D     003    9 
3  E     003    13 

Ich möchte die Daten der ersten Schüler jeder Klasse erhalten, das heißt, die Daten der Schüler A, C, E:

class student   course   note 
1  A     001    10 
1  A     002    14 
2  C     001    6 
2  C     002    17 
3  E     003    13 

I

if first.class then flag_first=1; else flag_first=0;

haben

versucht, aber dies wird nur die erste Zeile von eac h Klasse.

Hoffe, Ihre Antworten zu erhalten.

+0

Ihr anderes ist Teil des Problems. Spielen Sie damit auch First.student und behalten Sie. – Reeza

Antwort

2

Die erste Logik ist korrekt.

Data want; 
Set have; 
By class student; 

Retain flag; 

If first.class then flag =1; 
Else if first.student then flag=0; 

    If flag=1 then output; 
Run; 
+0

Es funktioniert. Danke vielmals ! – velvetrock

Verwandte Themen