DATA Step, Macro, Functions and more

assigning a value to a variable through a condition.

Accepted Solution Solved
Reply
Contributor
Posts: 55
Accepted Solution

assigning a value to a variable through a condition.

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.

 

 


Accepted Solutions
Solution
‎06-05-2016 06:14 PM
Respected Advisor
Posts: 4,646

Re: assigning a value to a variable through a condition.

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; 
PG

View solution in original post


All Replies
Solution
‎06-05-2016 06:14 PM
Respected Advisor
Posts: 4,646

Re: assigning a value to a variable through a condition.

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; 
PG
Contributor
Posts: 55

Re: assigning a value to a variable through a condition.

dear 

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 212 views
  • 1 like
  • 2 in conversation