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
Use SQL and take max of each column per id
use update trick
data want;
Update have (obs=0) have;
by id visit;
run;
Use SQL and take max of each column per id
use update trick
data want;
Update have (obs=0) have;
by id visit;
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.