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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.