BookmarkSubscribeRSS Feed
Amalik
Calcite | Level 5

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?

IDAR2001AR2002AR2003AR2004AR2005AR2006TR2001TR2002TR2003TR2004TR2005TR2006and so on
1             
2             
3             
and so on

 

 

 

           
1 REPLY 1
Astounding
PROC Star

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;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 836 views
  • 2 likes
  • 2 in conversation