BookmarkSubscribeRSS Feed
Adnan_Razaq
Calcite | Level 5

Hi All,

 

I have the following dataset

 

data have;
	input reporting_date account_id $ repayment_type $; 
	informat reporting_date  date9.;
	format reporting_date date9.;
	
	cards ;
	31JAN2018 123 REP
	31JAN2018 456 INT
	31JAN2018 789 PAP
	28FEB2018 123 REP
	28FEB2018 456 .   
	28FEB2018 789 PAP 
	31MAR2018 123 .   
	31MAR2018 456 .   
	31MAR2018 789 .   
	;
run;

What I need to get to is

 

 

Reporting_DateAccount_IDRepayment_Type
31-Jan-18123REP
31-Jan-18456INT
31-Jan-18789PAP
28-Feb-18123REP
28-Feb-18456INT
28-Feb-18789PAP
31-Mar-18123REP
31-Mar-18456INT
31-Mar-18789PAP

 

I need to retain the repayment type only if the repayment type is missing the following month.

 

Regards

 

Adnan

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Thats very simple, did you read the examples in the SAS docs?

http://documentation.sas.com/?docsetId=lestmtsref&docsetTarget=p0t2ac0tfzcgbjn112mu96hkgg9o.htm&docs...

 

Maybe something like:

data want;
  set have;
  retain lst;
  if lst ne "" then lst=repayment_type;
  else repayment_type=lst;
run;
Ksharp
Super User
data have;
	input reporting_date account_id $ repayment_type $; 
	informat reporting_date  date9.;
	format reporting_date date9.;
	
	cards ;
	31JAN2018 123 REP
	31JAN2018 456 INT
	31JAN2018 789 PAP
	28FEB2018 123 REP
	28FEB2018 456 .   
	28FEB2018 789 PAP 
	31MAR2018 123 .   
	31MAR2018 456 .   
	31MAR2018 789 .   
	;
run;

data want;
 set  have ;
 by reporting_date;
 if first.reporting_date then n=0;
 n+1;
 if n=1 then repayment_type='REP';
 if n=2 then repayment_type='INT';
 if n=3 then repayment_type='PAP';
drop n;
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
  • 2 replies
  • 1088 views
  • 0 likes
  • 3 in conversation