- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 04-06-2018 03:01 PM
(1112 views)
data finals.palmbeach17;
set finals.palmbeachsales17;
if lag (parcel_id)=parcel_id and lag (sale_prc)=sale_prc and lag (sale_mo)=sale_mo then delete;
run;
I am trying to look at the observations that are being deleted from this lag statement above. Is there anyway I can print or capture the deleted observations?
2 REPLIES 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
data finals.palmbeach17 check;
set finals.palmbeachsales17;
if lag (parcel_id)=parcel_id and lag (sale_prc)=sale_prc and lag (sale_mo)=sale_mo then do;
output check;
end;
else output finals.palmbeach17;
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Better sort the data and use first./last. to separate between the duplicates and the last one,
for examle:
proc sort data=have;
by parcel_d sale_mo /* month ? */ sale_prc;
run;
data ones dups;
set have;
by parcel_d sale_mo sale_prc;
if last.sale_prc then output ones;
else output dups;
run;