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.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.