举一例:在所有3个observation中,DOB 和 salary前的空格数都不一样。
data example;
input Subj $3. Name & $20. DOB : mmddyy10. Salary : dollar8.;
format DOB date9. Salary dollar8.;
cards;
001 Christopher Mullens 11/12/1955 $45,200 /*DOB 和 salary前的空格数分别是2,1*/
002 Michelle Kwo 9/12/1955 $78,123 /*DOB 和 salary前的空格数分别是9,2*/
003 Roger W. McDonald 1/1/1960 $107,200 /*DOB 和 salary前的空格数分别是4,3*/
;
run;
(注,& 是另一个修饰符,以后我将另文介绍。意思是遇到连续2个空格即停止,不需要严格执行此处的宽度20)
此外,冒号还有很多其他用法,简单介绍一下:
1,表示遇到单个空格就停止(不需要严格执行宽度,即使只有短至3个字符,如下例,也要停止,) --> (比较上面提到的 & ,遇到连续2个空格即停止)。
data test1;
input univ :$12. ranking country $;
cards;
BeijingU 1 China
MIT 2 USA
UCalifornia 3 USA
;
2,表示“以 ... 开始” (begin with)。常和各种比较操作符(如=,>, >= 等)结合使用。如 :
data test2;
input id name $;
if name = :'B' then delete; /*删除以B打头的名字*/
cards;
01 Bevan
02 Posley
03 Owen
04 Burden
;
(如果 if 句改为, if name > :'B' then delete; 结果将是 1 Bevan 和 4 Burden )。
3,wildcard。如:
Total = sum (of a:); 计算所有a开头的变量之和。
好像还有一些其他较复杂的用法,实在想不起来了。以后再补充吧。