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
.Например, if ThisRecordIsFromYourData and ThisRecordIsFromOtherData;
заставит SAS включать только строки, совпадающие по переменным by из обоих наборов входных данных (как внутреннее соединение).