Hi,
I want to transpose the following sort of data into panel data by using proc transpose. Although I can do it by creating separate files for each variable e.g for AR2001-AR2006 and then a separate one for TR2001-TR2006 But I wish to do it in one go only as creating separate files for each variable is very time-consuming. Can someone share their knowledge on this?
ID | AR2001 | AR2002 | AR2003 | AR2004 | AR2005 | AR2006 | TR2001 | TR2002 | TR2003 | TR2004 | TR2005 | TR2006 | and so on |
1 | |||||||||||||
2 | |||||||||||||
3 | |||||||||||||
and so on |
|
|
It's not 100% clear how you are picturing the panel data. Here's one possible result:
data want;
set have;
array arvals {2001:2006} ar2001-ar2006;
array trvals {2001:2006} tr2001-tr2006;
do year=2001 to 2006;
ar = arvals{year};
tr = trvals{year};
output;
end;
keep id year ar tr;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.