DATA Step, Macro, Functions and more

taking top observations for multiple variables by id

Reply
New Contributor
Posts: 4

taking top observations for multiple variables by id

hello,

I have this dataset:

id income1 income2 income3

1 20            30          0

2 4              30          70

3 80            25          30

And go on like this,

I have 100 variables, and 1000 observations.

How can I print only the top 20 observations from each variable, by id one by one in the same program?

Thanks for helping. 

Super User
Posts: 6,936

Re: taking top observations for multiple variables by id

[ Edited ]

Try this:

proc transpose data=have out=int;
by id;
run;

data want (drop=counter);
set int;
by id;
if first.id
then counter = 1;
else counter + 1;
if counter le 20;
run;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Ask a Question
Discussion stats
  • 1 reply
  • 153 views
  • 0 likes
  • 2 in conversation