@可以用于在读入数据时控制指针。
1. @
在 input 结尾加一个@的作用是将指针位置控制在当前行,下一个input语句会将记录继续导入到同一行。此外,使用@后碰到以下情况会释放一条记录行:
1)一个空 input 语句:input;
2)下一次重复过程开始;
举例:
第一个 input 后的@使指针停留在第一行,第二条input释放掉当前数据行转到读取下一条记录,第三个input读取前两个数据并导入 c, d 两列。
注释第二条input 使得在读完第一条记录的 a, b 后,指针停留在当前行继续读取后两个值导入 c, d 两列。这个过程重复2次。
2. @@
在 input 结尾加@@的作用是:
和 @ 对比:
3. @ column number 可以控制从第几列(第几个字符)开始读取数据:
@2 表示从第二列开始读取第一个变量。+1 表示读完name后,指针向右移动1个字符再开始读取age。一般地,SAS每读取完一个变量,指针都会自动移到变量末尾的下一个字符,然后从该字符的下一位起读取之后一个变量。