data address2;
address = 's1,s2,,s3,s4, , ,j6';
var1=scan(address,1,',');
var2=scan(address,2,',');
var3=scan(address,3,',');
var4=scan(address,4,',');
var5=scan(address,5,',');
var6=scan(address,6,',');
var7=scan(address,7,',');
run;
proc print data=address2;
run;
output :
| Obs | address | var1 | var2 | var3 | var4 | var5 | var6 | var7 |
|---|---|---|---|---|---|---|---|---|
| 1 | s1,s2,,s3,s4, , ,j6 | s1 | s2 | s3 | s4 | j6 |
If this program is being running. Accourding to the data input , var 3 supposed to be missing value which I really expect. Can any one help?
Try adding the M modifier:
data address2;
address = 's1,s2,,s3,s4, , ,j6';
var1=scan(address,1,',','m');
var2=scan(address,2,',','m');
var3=scan(address,3,',','m');
var4=scan(address,4,',','m');
var5=scan(address,5,',','m');
var6=scan(address,6,',','m');
var7=scan(address,7,',','m');
run;
Try adding the M modifier:
data address2;
address = 's1,s2,,s3,s4, , ,j6';
var1=scan(address,1,',','m');
var2=scan(address,2,',','m');
var3=scan(address,3,',','m');
var4=scan(address,4,',','m');
var5=scan(address,5,',','m');
var6=scan(address,6,',','m');
var7=scan(address,7,',','m');
run;
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!
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.