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

I have a dataset with six variables ID, TEST, VISIT, DATE, DATE1, DIFF.

I would like to create output in such a way that there should only one record per id and new variable to be created to have the additional information. Below is the sample data.

100030002                          CYCLE 2 DAY 1    2014-10-15          .

100030002                          CYCLE 3 DAY 1    2014-11-05          .

100030002           APTT      CYCLE 4 DAY 1    2014-12-03          2014-11-26          7

100030002           INR         CYCLE 4 DAY 1    2014-12-03          2014-11-26          7

100030002           APTT      CYCLE 5 DAY 1    2014-12-29          2014-12-24          5

100030002           INR         CYCLE 5 DAY 1    2014-12-29          2014-12-24          5

The output should have two variables ID and NEW. The variable NEW should have the following value highlighted in green and YELLOW. Brief logic for new variable.

green: As the test was missing for first two records

YELLOW: Individual Test performed(aptt, inr) performed(diff) days from first date(date),seconddate(date1)

INR AND APTT not performed: CYCLE 2 DAY 1, CYCLE 3  DAY 1 ;APTT: CYCLE 4 DAY 1 Performed 7 days from First  dose(Lab date 2014-12-03, First dose date 2014-11-26),  INR: CYCLE 4 DAY 1 Performed 7 days from First  dose(Lab date 2014-12-03, First dose date 2014-11-26), APTT: CYCLE 5 DAY 1 Performed 5 days from First  dose(Lab date 2014-12-29, First dose date 2014-12-24), INR: CYCLE 5 DAY 1 Performed 5 days from First  dose(Lab date 2014-12-29, First dose date 2014-12-24)

Thanks

Rakesh

1 ACCEPTED SOLUTION

Accepted Solutions
RW9
Diamond | Level 26 RW9
Diamond | Level 26

This will give you one record per id, with result as a list of visits separated by commas where data is missing.

data want;

     set have;

     length result $200;

     by id;

     retain result;

     if first.id then result="";

     if test="" then result=catx(",",result,visit);    

     if last.id then output;

run;

View solution in original post

3 REPLIES 3
RW9
Diamond | Level 26 RW9
Diamond | Level 26

This will give you one record per id, with result as a list of visits separated by commas where data is missing.

data want;

     set have;

     length result $200;

     by id;

     retain result;

     if first.id then result="";

     if test="" then result=catx(",",result,visit);    

     if last.id then output;

run;

Steelers_In_DC
Barite | Level 11

I got you started, does this suit your purposes?

data have;

infile cards dsd;

length id visit $25.;

informat date date1 yymmdd10.;

format date date1 yymmdd10.;

input id $ test $ visit $ date date1 diff;

cards;

100030002,,CYCLE 2 DAY 1,2014-10-15,,

100030002,,CYCLE 3 DAY 1,2014-11-05,,

100030002,APTT,CYCLE 4 DAY 1,2014-12-03,2014-11-26,7

100030002,INR,CYCLE 4 DAY 1,2014-12-03,2014-11-26,7

100030002,APTT,CYCLE 5 DAY 1,2014-12-29,2014-12-24,5

100030002,INR,CYCLE 5 DAY 1,2014-12-29,2014-12-24,5

;

run;

data want(keep=id new);

format new $225.;

set have;

if missing(test) then new = 'INR AND APPT not performed '|| visit;

/*if not missing(test) then new = etc;*/

run;

LinusH
Tourmaline | Level 20

So what is your question?

If this is an order you need cash upfront.

Data never sleeps

sas-innovate-2024.png

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.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 806 views
  • 3 likes
  • 4 in conversation