yourdata(in=a)在名为“ a”的程序数据向量中创建一个标志变量,如果记录来自您的数据,则包含1;如果不是,则包含0。然后,您可以使用这些变量基于记录的源执行条件操作。
如果您看到了,可能会更容易理解
data newdata;merge yourdata(in=ThisRecordIsFromYourData) otherdata(in=ThisRecordIsFromOtherData);by permno date;run;
假设在此步骤中需要处理您数据中的记录,而无需处理其他数据中的记录,则可以执行以下操作
data newdata;merge yourdata(in=ThisRecordIsFromYourData) otherdata(in=ThisRecordIsFromOtherData);by permno date;if ThisRecordIsFromYourData then do; * some operation here for yourdata records only ;end;run;
这些变量的一个明显用途是使用
if语句控制将发生哪种“merge” 。例如,
if ThisRecordIsFromYourData and ThisRecordIsFromOtherData;将使SAS仅包括与两个输入数据集中的by变量匹配的行(例如内部联接)。



