I’m trying to create a table that has future years. For example with sashelp.orsales2, I’d like to insert 10 rows per with the same values as the orginal record but with a new column yearFuture that increments by 1 per year e.g. 1999, 2000, 2001… I can see one way to do this as creating a new table with the year column and joining it back to the current table. I do not know the sas syntax for creating the loop for the years in a SAS program.
Can't see any data (don't have SAS available at mo), so maybe something like:
data have;
year=2010; var1="A"; var2=12; output;
year=2011; var1="B"; var2=45; output;
run;
data want (drop=i);
set have;
do i=0 to 9;
year=year+i;
output;
end;
run;
Can't see any data (don't have SAS available at mo), so maybe something like:
data have;
year=2010; var1="A"; var2=12; output;
year=2011; var1="B"; var2=45; output;
run;
data want (drop=i);
set have;
do i=0 to 9;
year=year+i;
output;
end;
run;
Thanks RW9, this method is very efficient.
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.