BookmarkSubscribeRSS Feed
Moyosrie
Calcite | Level 5

i need to delete the record after the record that has status ='y'

data out;
input source $2.  target $2. type $5.;
datalines;
a b temp
b c temp
c b temp
b d perm
;
run;

 

data out1( drop=type rename=(source=source1 target=target1));
set out(firstobs=2);
run;

data new;
merge out out1;
run;

 

data new1(keep=status source target type);
length status $10.  ;
set new ;
if target1=source and source1 =target and type ='temp'
then status = 'Y';
else status= 'n';
run;

 

2 REPLIES 2
Moyosrie
Calcite | Level 5

Moyosrie_0-1606036173726.png

after every 'y' status

 

Ksharp
Super User

data want;
set new1;
if lag(status)='Y' then delete;
run;

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 2 replies
  • 567 views
  • 0 likes
  • 2 in conversation