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

Hi,

 

I have got  a SAS dataset with  accno,opendate,close_date.

I have to create a new variable in this dataset where for an iD the opendate increases by one until the close date

close_dateopen_dateid
07-Feb-1303-Dec-12123567
02-Dec-1101-Sep-11123568
02-Dec-0926-Oct-09123569

I need a result like below

idopen_dateclose_date
12356703-Dec-1203-Jan-13
12356704-Dec-1203-Jan-13
12356705-Dec-1203-Jan-13
12356706-Dec-1203-Jan-13
12356707-Dec-1203-Jan-13
12356708-Dec-1203-Jan-13
12356709-Dec-1203-Jan-13
12356710-Dec-1203-Jan-13
12356711-Dec-1203-Jan-13
12356712-Dec-1203-Jan-13
12356713-Dec-1203-Jan-13
12356714-Dec-1203-Jan-13
12356715-Dec-1203-Jan-13
12356716-Dec-1203-Jan-13
12356717-Dec-1203-Jan-13
12356718-Dec-1203-Jan-13
12356719-Dec-1203-Jan-13
12356720-Dec-1203-Jan-13
12356721-Dec-1203-Jan-13
12356722-Dec-1203-Jan-13
12356723-Dec-1203-Jan-13
12356724-Dec-1203-Jan-13
12356725-Dec-1203-Jan-13
12356726-Dec-1203-Jan-13
12356727-Dec-1203-Jan-13
12356728-Dec-1203-Jan-13
12356729-Dec-1203-Jan-13
12356730-Dec-1203-Jan-13
12356731-Dec-1203-Jan-13
12356701-Jan-1303-Jan-13
12356702-Jan-1303-Jan-13
12356703-Jan-1303-Jan-13
12356801-Sep-1110-Sep-11
12356802-Sep-1110-Sep-11
12356803-Sep-1110-Sep-11
12356804-Sep-1110-Sep-11
12356805-Sep-1110-Sep-11
12356806-Sep-1110-Sep-11
12356807-Sep-1110-Sep-11
12356808-Sep-1110-Sep-11
12356809-Sep-1110-Sep-11
1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

In general:

 

data want;
set have;

do date = open_date to close_date;
     output;
end;

run;

You may need to add some filters/conditions if you have exceptions or other things you need to consider.

 


@MV04 wrote:

Hi,

 

I have got  a SAS dataset with  accno,opendate,close_date.

I have to create a new variable in this dataset where for an iD the opendate increases by one until the close date

close_date open_date id
07-Feb-13 03-Dec-12 123567
02-Dec-11 01-Sep-11 123568
02-Dec-09 26-Oct-09 123569

I need a result like below

id open_date close_date
123567 03-Dec-12 03-Jan-13
123567 04-Dec-12 03-Jan-13
123567 05-Dec-12 03-Jan-13
123567 06-Dec-12 03-Jan-13
123567 07-Dec-12 03-Jan-13
123567 08-Dec-12 03-Jan-13
123567 09-Dec-12 03-Jan-13
123567 10-Dec-12 03-Jan-13
123567 11-Dec-12 03-Jan-13
123567 12-Dec-12 03-Jan-13
123567 13-Dec-12 03-Jan-13
123567 14-Dec-12 03-Jan-13
123567 15-Dec-12 03-Jan-13
123567 16-Dec-12 03-Jan-13
123567 17-Dec-12 03-Jan-13
123567 18-Dec-12 03-Jan-13
123567 19-Dec-12 03-Jan-13
123567 20-Dec-12 03-Jan-13
123567 21-Dec-12 03-Jan-13
123567 22-Dec-12 03-Jan-13
123567 23-Dec-12 03-Jan-13
123567 24-Dec-12 03-Jan-13
123567 25-Dec-12 03-Jan-13
123567 26-Dec-12 03-Jan-13
123567 27-Dec-12 03-Jan-13
123567 28-Dec-12 03-Jan-13
123567 29-Dec-12 03-Jan-13
123567 30-Dec-12 03-Jan-13
123567 31-Dec-12 03-Jan-13
123567 01-Jan-13 03-Jan-13
123567 02-Jan-13 03-Jan-13
123567 03-Jan-13 03-Jan-13
123568 01-Sep-11 10-Sep-11
123568 02-Sep-11 10-Sep-11
123568 03-Sep-11 10-Sep-11
123568 04-Sep-11 10-Sep-11
123568 05-Sep-11 10-Sep-11
123568 06-Sep-11 10-Sep-11
123568 07-Sep-11 10-Sep-11
123568 08-Sep-11 10-Sep-11
123568 09-Sep-11 10-Sep-11

 

View solution in original post

4 REPLIES 4
novinosrin
Tourmaline | Level 20

where is close date value 03-Jan-13  in

 

close_date open_date id
07-Feb-13 03-Dec-12 123567
02-Dec-11 01-Sep-11 123568
02-Dec-09 26-Oct-09 123569
MV04
Obsidian | Level 7

apologies the sample didnot go until 07feb2013 as this will be very long list but yes the open date has to be incremented until 07feb2013

Reeza
Super User

In general:

 

data want;
set have;

do date = open_date to close_date;
     output;
end;

run;

You may need to add some filters/conditions if you have exceptions or other things you need to consider.

 


@MV04 wrote:

Hi,

 

I have got  a SAS dataset with  accno,opendate,close_date.

I have to create a new variable in this dataset where for an iD the opendate increases by one until the close date

close_date open_date id
07-Feb-13 03-Dec-12 123567
02-Dec-11 01-Sep-11 123568
02-Dec-09 26-Oct-09 123569

I need a result like below

id open_date close_date
123567 03-Dec-12 03-Jan-13
123567 04-Dec-12 03-Jan-13
123567 05-Dec-12 03-Jan-13
123567 06-Dec-12 03-Jan-13
123567 07-Dec-12 03-Jan-13
123567 08-Dec-12 03-Jan-13
123567 09-Dec-12 03-Jan-13
123567 10-Dec-12 03-Jan-13
123567 11-Dec-12 03-Jan-13
123567 12-Dec-12 03-Jan-13
123567 13-Dec-12 03-Jan-13
123567 14-Dec-12 03-Jan-13
123567 15-Dec-12 03-Jan-13
123567 16-Dec-12 03-Jan-13
123567 17-Dec-12 03-Jan-13
123567 18-Dec-12 03-Jan-13
123567 19-Dec-12 03-Jan-13
123567 20-Dec-12 03-Jan-13
123567 21-Dec-12 03-Jan-13
123567 22-Dec-12 03-Jan-13
123567 23-Dec-12 03-Jan-13
123567 24-Dec-12 03-Jan-13
123567 25-Dec-12 03-Jan-13
123567 26-Dec-12 03-Jan-13
123567 27-Dec-12 03-Jan-13
123567 28-Dec-12 03-Jan-13
123567 29-Dec-12 03-Jan-13
123567 30-Dec-12 03-Jan-13
123567 31-Dec-12 03-Jan-13
123567 01-Jan-13 03-Jan-13
123567 02-Jan-13 03-Jan-13
123567 03-Jan-13 03-Jan-13
123568 01-Sep-11 10-Sep-11
123568 02-Sep-11 10-Sep-11
123568 03-Sep-11 10-Sep-11
123568 04-Sep-11 10-Sep-11
123568 05-Sep-11 10-Sep-11
123568 06-Sep-11 10-Sep-11
123568 07-Sep-11 10-Sep-11
123568 08-Sep-11 10-Sep-11
123568 09-Sep-11 10-Sep-11

 

MV04
Obsidian | Level 7

Thanks so much Reeza

It worked

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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.

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
  • 4 replies
  • 383 views
  • 0 likes
  • 3 in conversation