Hello SAS Community!
I need to split the address column into two new columns, City and ZipCode.
data AgentD;
infile '/home/Homework 3/AgentD.txt' firstobs=2;
length Customer 8 Date1 8 Date2 8 Address $13;
input Customer Date1 : YYMMDD10. Date2 : YYMMDD10. Address $ &;
run;
proc print data=agentd;
title 'AgentD';
run;Any ideas on how to do this?
use scan function
data AgentD;
infile '/home/Homework 3/AgentD.txt' firstobs=2;
length Customer 8 Date1 8 Date2 8 Address $13;
input Customer Date1 : YYMMDD10. Date2 : YYMMDD10. Address $ &;
City=scan(address,1,',');
zipcode=scan(address,-1,',');
run;
proc print data=agentd;
title 'AgentD';
run;
use scan function
data AgentD;
infile '/home/Homework 3/AgentD.txt' firstobs=2;
length Customer 8 Date1 8 Date2 8 Address $13;
input Customer Date1 : YYMMDD10. Date2 : YYMMDD10. Address $ &;
City=scan(address,1,',');
zipcode=scan(address,-1,',');
run;
proc print data=agentd;
title 'AgentD';
run;
That worked with some formatting. Now how can I make the ZipCode column a numerical value?
data AgentD;
infile '/home/Homework 3/AgentD.txt' firstobs=2;
length Customer 8 Date1 8 Date2 8 Address $24;
input Customer Date1 : YYMMDD10. Date2 : YYMMDD10. Address $ &;
format Date1 Date2 YYMMDD10.;
City=scan(address,1,',');
ZipCode=scan(address,-1,',');
keep Customer Date1 Date2 City ZipCode;
run;
proc print data=agentd;
title 'AgentD';
run;
use input around the scan like:
ZipCode=input(strip(scan(address,-1,',')),5.);
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.