BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
fengyuwuzu
Pyrite | Level 9

I have data like below :

 

ID visit m1 m2 m3 m4
1 week1 10      
1 week1   13    
1 week1     15  
1 week1       14
2 week2 12      
2 week2   11    
2 week2     14  
2 week2       13
3 week3 13      
3 week3   10    
3 week3     11  
3 week3       12

 

And I want to have data like :

ID visit m1 m2 m3 m4
1 week1 10 13 15 14
2 week2 12 11 14 13
3 week3 13 10 11 12

 

One way is to output 4 data for m1, m2, m3 and m4 and then merge. 

I wonder if there is a simpler way to do it? Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
1 REPLY 1
Reeza
Super User

Use SQL and take max of each column per id

 

use update trick

data want;

Update have (obs=0) have;

by id visit;

run;

 

https://communities.sas.com/t5/Base-SAS-Programming/How-can-I-combine-multiple-rows-to-a-single-row/...

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
  • 1 reply
  • 1194 views
  • 3 likes
  • 2 in conversation