sas PDV的工作。
当用input语句时,首先初始化pdv里的所有变量为缺失值(有retain 声明的变量除外),读入datalines的一行数据进入pdv,然后执行data步里的程序。
而用set、merge、update、或者modify语句时,在pdv里的变量值被保留,因而下面的第三个和第四个data程序的结果c表和d表不同。
data a;
input code $6. name $;
datalines;
600019 你
600018 知
600035 道
run;
data b;
input code $6. name $ name2 $;
datalines;
699999 我 你
600098 在 吗
600055 等 ?
run;
data c;
set a;
if _n_=1 then set b;
run;
data d;
set a;
if _n_=1 then input code $6. name $ name2 $;
datalines;
699999 我 你
run;