Desktop productivity for business analysts and programmers

Delete all observation before certain row

Reply
N/A
Posts: 0

Delete all observation before certain row

hi all,

if i have a dataset look something like this:

Name NRIC Weight Height
A XX XXX XXXX
B XX XXX XXXX
:
:
F XX XXX XXXX
G XX XXX XXXX

and i want to delete all the observation before Name = 'F', Does anyone knows how should I code it?
Contributor
Posts: 31

Re: Delete all observation before certain row

Hi Qiqi,
try making a counter which is set to some value say =0 and as soon as the name='F' is encountered change the value of the counter to say = 1. Use the output statement based on that counter.

data test;
input name:$4. data1:$char10. ;
cards;
A dummy
B dummy
C dummy
D dummy
E dummy
F dummy
G dummy
H dummy
;;;;
run;
data d1(drop=counter);
set test;
retain counter;
if _n_=1 then counter=0;
if name ='F' then counter=1;
if counter=1 or name='F';
run;
proc print;run;
Trusted Advisor
Posts: 2,114

Re: Delete all observation before certain row

If you are looking at logical order: in EGuide, you could create an advanced filter with
Name NOT LT "F"
to select the ones to keep.
Respected Advisor
Posts: 4,135

Re: Delete all observation before certain row

Just to be careful: upcase(name) not lt "F"
Ask a Question
Discussion stats
  • 3 replies
  • 113 views
  • 0 likes
  • 4 in conversation