Sas @@在输入语句中是如何工作的?

Sas @@在输入语句中是如何工作的?,sas,Sas,我试图了解sas是如何读取此代码的 data scores; input Grade : $1. @@; check='abcdf'; if verify(grade,check)>0 then put @1 'INVALID ' grade=; datalines; a b c b c d f a a q a b d d b z ; run; 日志给出了以下结果: INVALID Grade=q

我试图了解sas是如何读取此代码的

         data scores;
    input Grade : $1. @@;
     check='abcdf';
   if verify(grade,check)>0 then 
  put @1 'INVALID ' grade=;
   datalines;
 a b c b c d f a a q a b d d b z
     ;
     run;
日志给出了以下结果:

    INVALID Grade=q
    INVALID Grade=z
有人能告诉我SAS是如何读取数据的吗?@@代表什么?字段-Grade的每个观察值是否为每个“Grade=”读取

将只读取每行的第一个字符。这是因为,在每次执行
input
语句之后,文件中的新行将被读入输入缓冲区,即使当前行上还有很多剩余的内容

级别:$1@,指示SAS不要读取另一行,除非处理了当前行上的所有数据

将只读取每行的第一个字符。这是因为,在每次执行
input
语句之后,文件中的新行将被读入输入缓冲区,即使当前行上还有很多剩余的内容


级别:$1@,您指示SAS不要读取另一行,除非当前行上的所有数据都已处理。

您是如何尝试解决的?你看过文件了吗?你是怎么想出来的?你看过文件了吗?
data scores;
    input Grade : $1.;