BookmarkSubscribeRSS Feed
BrighterWay
Calcite | Level 5

I'd like to transform table from :

 

Name        PlanType     PlanNum  

David        PlanA          10101

David        PlanB          20202  

David        PlanC          30303

 

 

to:

 

Name    PlanA_Num     PlanB_Num   PlanC_Num

David       10101             20202             30303

 

 

 

any thoughts? using proc sql; or data steps.. 

 

Thanks!

 

2 REPLIES 2
ballardw
Super User

Proc Transpose will handle this generally:

 

proc transpose data=have
     out=want;
by name;
var plannum;
id PlanType;
run;

If you data isn't sorted by the name you either should sort the data or use By NOTSORTED  name.

If you really want the variables to end with _NUM then you can add a Suffix='_num' to the proc statement.

If plan type is duplicated per name though there'll be errors.

Reeza
Super User

PROC TRANSPOSE


@BrighterWay wrote:

I'd like to transform table from :

 

Name        PlanType     PlanNum  

David        PlanA          10101

David        PlanB          20202  

David        PlanC          30303

 

 

to:

 

Name    PlanA_Num     PlanB_Num   PlanC_Num

David       10101             20202             30303

 

 

 

any thoughts? using proc sql; or data steps.. 

 

Thanks!

 


 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 2 replies
  • 719 views
  • 0 likes
  • 3 in conversation