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-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 555 views
  • 0 likes
  • 3 in conversation