Hallo Fay,
noch eine schöne Variante - allerdings in einem User-Exist - ist Proc Means. Hier gibt es die Anweisung IDGROUP, die nach den Ausprägungen (min/max) einer Variable(-nliste) sortiert und dann die N ersten bzw. letzten Ausprägungen einer weiteren Variable(-nliste) in eine Datei speichert. Beispiel für eine Fragestellung: Gib mir Name, Alter und Geschlecht der zehn ältesten Schüler aus (Tabelle Sashelp.Class). Die Ergebnistabelle enthält für jeden Wert eine Variable und kann über Proc Transpose oder einen Data Step gedreht werden.
Hier ein Beispiel:
Proc Means noprint data=sashelp.class;
Output out=Work.test
idgroup(
max(age)
out[10]
(name age sex)=
)
;
Run;
Data Work.Test2 (keep=pos name age sex) ;
Set Work.Test;
Array _name n:;
Array _age a:;
Array _sex s:;
Do i=1 To dim(_name);
pos = i;
name = _name(i);
age = _age(i);
sex = _sex(i);
Output;
End;
Run;
Viele Grüße,
Grischa