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!

 


 

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
  • 986 views
  • 0 likes
  • 3 in conversation