DATA Step, Macro, Functions and more

Inserting value in new column based on existing value

Reply
Frequent Learner
Posts: 1

Inserting value in new column based on existing value

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!

 

Super User
Posts: 13,498

Re: Inserting value in new column based on existing value

[ Edited ]
Posted in reply to BrighterWay

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.

Super User
Posts: 23,662

Re: Inserting value in new column based on existing value

Posted in reply to BrighterWay

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!

 


 

Ask a Question
Discussion stats
  • 2 replies
  • 53 views
  • 0 likes
  • 3 in conversation