Hi I have some data that looks like:
order, businessname
1234,Acme
432,Bizarro
55689,Ralph's party town
In the title I mentioned that the variables have different lengths and column starts. By this I mean that the order numbers have different numbers of characters for each order and that the businessname observations start at different column positions.
I started my infile with a data step:
data order;
infile 'location.csv' dlm=',' firstobs=2;
input order businessname $;
run;
SAS infiles the first 8 characters of businessname but I am demanding and want the whole enchilada. If I knew the start column of businessname I would try to grab a field corresponding to businessname, i.e. something like $ 7-26 (Ralph's party town). The problem is that the Acme observation starts at column 6, Ralph's at column 7 and Bizarro at 5. How can I code an input statement for the businessname observations to flexibly accomdate this yet also grab all the characters in each observation?
thank you for your help
You could use:
data order;
infile 'location.csv' dlm=',' firstobs=2;
informat businessname $50.;
input order businessname;
run;
Thank you
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.