My data currently looks like this:
LoanId Product_Code
32456 Fixed-30
32456 Fixed-30
32456
32456
75639 Fixed-15
75639
75639
84732 Adjustable-Rate
84732 Adjustable-Rate
84732
84732
I need to fill in the blanks in the product_code variable so that my records have no blanks; please not that product_code is a character variable. Utlimately, I need my data to look like this.
LoanId Product_Code
32456 Fixed-30
32456 Fixed-30
32456 Fixed-30
32456 Fixed-30
75639 Fixed-15
75639 Fixed-15
75639 Fixed-15
84732 Adjustable-Rate
84732 Adjustable-Rate
84732 Adjustable-Rate
84732 Adjustable-Rate
Any help would be extremely appreciated; thanks in advance.
If you don't want to sort the data:
data want;
set have;
if _n_=1 then lprod=product_code;
retain lprod;
if missing(x) then product_code= lprod;
else lprod=product_code;
drop lprod;
run;
I believe first. will be correct
Proc sort data=have;
by LoanId Product_Code;
run;
data want(rename=(product_code_=product_code));
set have;
by LoanId Product_Code;
retain product_code_;
if first.product_code then product_code_='';
if product_code ne '' then product_code_=product_code;
drop product_code;
run;
Thanks,
Jag
If you don't want to sort the data:
data want;
set have;
if _n_=1 then lprod=product_code;
retain lprod;
if missing(x) then product_code= lprod;
else lprod=product_code;
drop lprod;
run;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.