Hi guys i am trying to read below data with 3 variables (ssn (length=11), name(length=8), satscore(length=3)) but i am not perfectly getting right values for "satscrore" variable plz help...
Thanks!
data test2 (drop=namelen);
infile cards length=reclen;
input ssn $11. @;
namelen=reclen-14;
input name $varying8. namelen satscore;
cards;
182-04-7814aspden530
302-57-5067atwood480
152-45-5678cutchins790
302-57-1234brosp560
;
run;
CARDS data is, well, like cards FIXED length. If you want an in-stream file that is variable lenght you can use PARMCARDS. These data are loaded into an actual file.
I haven't dug deep enough to find the related Docs, but my guess is length= is only work with external files, not with cards/datalines (fixed length of 80 will be assigned), So you have to get it yourself:
data test2 (drop=namelen reclen);
infile cards;
input ssn $11. @;
reclen=length(_infile_);
namelen=reclen-14;
input name $varying8. namelen satscore;
cards;
182-04-7814aspden530
302-57-5067atwood480
152-45-5678cutchins790
302-57-1234brosp560
;
run;
Haikuo
CARDS data is, well, like cards FIXED length. If you want an in-stream file that is variable lenght you can use PARMCARDS. These data are loaded into an actual file.
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!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.