BookmarkSubscribeRSS Feed
deleted_user
Not applicable
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?
3 REPLIES 3
SushilNayak
Obsidian | Level 7
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;
Doc_Duke
Rhodochrosite | Level 12
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.
Patrick
Opal | Level 21
Just to be careful: upcase(name) not lt "F"

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1438 views
  • 0 likes
  • 4 in conversation