I have the following data:
ID Flag Date Details
1 N 1/1 abc
1 N 1/2 efg
1 Y 1/1 hij
2 N 1/3 lmo
This dataset is already sorted by ID, flag and date (ascending order) using proc sort. I want to now only output the last row in every ID, flag combination as follows:
ID Flag Date Details
1 N 1/2 efg
1 Y 1/1 hij
2 N 1/3 lmo
Just use BY group processing. You want the last one per ID FLAG group.
data want;
set have;
by ID Flag Date;
if last.flag;
run;
Just use BY group processing. You want the last one per ID FLAG group.
data want;
set have;
by ID Flag Date;
if last.flag;
run;
that was easier than I thought. Thanks!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.