Hello!
I am trying to transpose a large table with array columns into rows. I would appreciate help! Thank you in advance!
The data looks like this:
| ID1 | Term1 | Term2 | Term3 | Term4 | Term5 | Term6 | 
| a_78076 | 7600 | 7600 | 9875 | 4388 | 3709 | |
| er_866455 | 5436 | 9468 | 4009 | 4388 | 7600 | 3288 | 
I need to create individual rows for each of the Term1-6 for each ID.
Results to look like this:
| ID1 | Term | 
| a_78076 | 7600 | 
| a_78076 | 7600 | 
| a_78076 | 9875 | 
| a_78076 | 4388 | 
| a_78076 | 3709 | 
| er_866455 | 5436 | 
| er_866455 | 9468 | 
| er_866455 | 4009 | 
| er_866455 | 4388 | 
| er_866455 | 7600 | 
| er_866455 | 3288 | 
data Want;
 set have;
 array t term1-term6;
 do over t;
  term=t;
  if term then output;
end;
keep id term;
run;
					
				
			
			
				
			
			
			
				
			
			
			
			
			
		data Want;
 set have;
 array t term1-term6;
 do over t;
  term=t;
  if term then output;
end;
keep id term;
run;
					
				
			
			
				
			
			
			
			
			
			
			
		It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.