input中的三种格式修饰符用法举例
列表方式输入语句中的修饰符有3个:":","~","&"。
下面分别介绍这3中修饰符的使用方法。
":"。当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度必须使用该格式修饰符。
e.g:空格为分隔符时,对变量长度不一致的变量规定统一长度。
data new;
input Univ:$12. zip;
cards;
MIT 100023
TsinghuaUniv 100084
;
run;
<=> 等价于
data new;
length Univ $12.;
input Univ zip;
cards;
MIT 100023
TsinghuaUniv 100084
;
run;
"&"。字符输入值可能包含一个或几个空格。因为空格是列表读入方式默认的分隔符,所以如果要读入的数据值本身包括空格时就必须用此格式符。
e.g:空格为分隔符时,字符型输入值嵌有空格。
data user;
input name & $12. age;
cards;
Jiang zhu 20
Annie Zheng 31
I.Altman 60
;
run;
"~"。规定读入字符时保留引号。此选项只是在infile语句中与选项dsd一起使用时才有效。
e.g:dsd和"~"的作用,读入字符时保留引号。
data topic;
infile datalines dsd;
input speaker ~ $ 15. title ~ $ 40. location & $ 10. ;
datalines;
Song, "Credit Derivatives", Room 329
Zhu, "Credit Risk Management", Room 406
;
run;
proc print;
run;
炼数点金例子:
data A;
input name & $12. sex $ age;
datalines;
Li Li F 19
Wang Da Zhi M 20
;
proc print;
run;
":"修饰符。表示从下一个非空格列开始读入数据,直到:
1.遇到再下一个空格列;
2.读到预先定义的变量长度;
3.数据行结束。
哪个先出现就在哪结束
"&"修饰符。表示从下一个非空格列开始读入数据,直到:
1.遇到连续的两个空格;
2.在DATA步中定义的最初的变量长度;
3.数据行结束。
列表方式输入语句中的修饰符有3个:":","~","&"。
下面分别介绍这3中修饰符的使用方法。
":"。当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度必须使用该格式修饰符。
e.g:空格为分隔符时,对变量长度不一致的变量规定统一长度。
data new;
input Univ:$12. zip;
cards;
MIT 100023
TsinghuaUniv 100084
;
run;
<=> 等价于
data new;
length Univ $12.;
input Univ zip;
cards;
MIT 100023
TsinghuaUniv 100084
;
run;
"&"。字符输入值可能包含一个或几个空格。因为空格是列表读入方式默认的分隔符,所以如果要读入的数据值本身包括空格时就必须用此格式符。
e.g:空格为分隔符时,字符型输入值嵌有空格。
data user;
input name & $12. age;
cards;
Jiang zhu 20
Annie Zheng 31
I.Altman 60
;
run;
"~"。规定读入字符时保留引号。此选项只是在infile语句中与选项dsd一起使用时才有效。
e.g:dsd和"~"的作用,读入字符时保留引号。
data topic;
infile datalines dsd;
input speaker ~ $ 15. title ~ $ 40. location & $ 10. ;
datalines;
Song, "Credit Derivatives", Room 329
Zhu, "Credit Risk Management", Room 406
;
run;
proc print;
run;
炼数点金例子:
data A;
input name & $12. sex $ age;
datalines;
Li Li F 19
Wang Da Zhi M 20
;
proc print;
run;
":"修饰符。表示从下一个非空格列开始读入数据,直到:
1.遇到再下一个空格列;
2.读到预先定义的变量长度;
3.数据行结束。
哪个先出现就在哪结束
"&"修饰符。表示从下一个非空格列开始读入数据,直到:
1.遇到连续的两个空格;
2.在DATA步中定义的最初的变量长度;
3.数据行结束。
哪个先出现就在哪结束