Hi there;
i need a help please:
my data is like this:
id ne dv
v 01 1 12/03/2008
v 01 1 12/03/2008
v 01 1 12/03/2008
v 01 1 12/03/2008
v 01 3 05/12/2012
v 01 3 05/12/2012
v 01 3 05/12/2012
v 02 1 31/01/2009
v 02 1 31/01/2009
v 02 1 31/01/2009
v 02 2 05/04/2011
v 02 2 05/04/2011
v 02 2 05/04/2011
v 02 2 05/04/2011
v 02 3 11/09/2003
v 02 3 11/09/2003
v 08 2 03/06/2014
v 08 2 03/06/2014
what i want:
id ne dv dv_1 dv_2 dv_3
v 01 1 12/03/2008 12/03/2008 . 05/12/2012
v 01 1 12/03/2008 12/03/2008 . 05/12/2012
v 01 1 12/03/2008 12/03/2008 . 05/12/2012
v 01 1 12/03/2008 12/03/2008 . 05/12/2012
v 01 3 05/12/2012 12/03/2008 . 05/12/2012
v 01 3 05/12/2012 12/03/2008 . 05/12/2012
v 01 3 05/12/2012 12/03/2008 . 05/12/2012
v 02 1 31/01/2009 31/01/2009 05/04/2011 11/09/2003
v 02 1 31/01/2009 31/01/2009 05/04/2011 11/09/2003
v 02 1 31/01/2009 31/01/2009 05/04/2011 11/09/2003
v 02 2 05/04/2011 31/01/2009 05/04/2011 11/09/2003
v 02 2 05/04/2011 31/01/2009 05/04/2011 11/09/2003
v 02 2 05/04/2011 31/01/2009 05/04/2011 11/09/2003
v 02 2 05/04/2011 31/01/2009 05/04/2011 11/09/2003
v 02 3 11/09/2003 31/01/2009 05/04/2011 11/09/2003
v 02 3 11/09/2003 31/01/2009 05/04/2011 11/09/2003
v 08 2 03/06/2014 . 03/06/2014 .
v 08 2 03/06/2014 . 03/06/2014 .
ne= measurement order
dv = date of a measurement
therefore, the table want should contain 3 new variables (dv_1 dv_2 and dv_3).
dv_1 contains the dates that correspond to ne= 1;
dv_2 contains the dates that correspond to ne= 2;
dv_3 contains the dates that correspond to ne= 3;
help me please.
Try this:
proc sql;
create table u as select unique * from have order by id;
quit;
proc transpose data=u out=v(drop=_name_) prefix=dv_;
by id;
id ne;
var dv;
run;
data want;
merge have v;
by id;
run;
Try this:
proc sql;
create table u as select unique * from have order by id;
quit;
proc transpose data=u out=v(drop=_name_) prefix=dv_;
by id;
id ne;
var dv;
run;
data want;
merge have v;
by id;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.