BookmarkSubscribeRSS Feed
Katie
Obsidian | Level 7

I have data that looks like this:

Patient          ProgramDate         FinanceDate

A                    1/1/2012                    2/3/2012

A                      2/5/2012                    4/6/2012

A                         .                         5/25/2012

B                      2/1/2012               4/1/2012

B                         .                              4/5/2012

The data needs to look like this:

Patient          VisitDates

A                    1/1/2012

A                    2/5/2012

A                    4/6/2012

A                     5/25/2012

B                     2/1/2012

B                    4/1/2012

B                    4/5/2012

Basically I need the Finance Date to match up to a Program Date.  No Finance Dates are allowed to Match up to the earliest ProgramDate.  The finance date can be counted for in the Program Date if it occurs prior to a singular date.  This is why Patient A does not have a VisitDate for 2/3/2012.  This one is 'counted' twice and we only need to show one date.

1 REPLY 1
mohamed_zaki
Barite | Level 11

data have;

input Patient $ ProgramDate: mmddyy10. FinanceDate: mmddyy10.;

cards;

A 1/1/2012 2/3/2012

A 2/5/2012 4/6/2012

A . 5/25/2012

B 2/1/2012 4/1/2012

B . 4/5/2012

;

run;

data want (keep=Patient VisitDate);

set have;

x=lag(FinanceDate);

rename ProgramDate=VisitDate;

if ProgramDate=. then do;

    ProgramDate=x ;

        output;

    ProgramDate=FinanceDate;

        output;

end;

else output;

run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 728 views
  • 0 likes
  • 2 in conversation