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

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