No DO loop necessary, the data step loops over observations on its own.
Use a retained variable to keep the start point for each period:
data have;
input account default;
datalines;
12345 2
12345 3
12345 15
12345 16
12345 35
23456 1
;
data want;
set have;
by account;
retain start;
if first.account
then do;
start = default;
output;
end;
else do;
if default gt start + 10
then do;
output;
start = default;
end;
end;
drop start;
run;
No DO loop necessary, the data step loops over observations on its own.
Use a retained variable to keep the start point for each period:
data have;
input account default;
datalines;
12345 2
12345 3
12345 15
12345 16
12345 35
23456 1
;
data want;
set have;
by account;
retain start;
if first.account
then do;
start = default;
output;
end;
else do;
if default gt start + 10
then do;
output;
start = default;
end;
end;
drop start;
run;
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!
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.