Итак, сначала объедините два набора данных, чтобы иметь доступ к значениям из другого набора данных.Затем вы можете использовать условную логику, чтобы выбрать, какую переменную использовать для заполнения новой переменной.Вы захотите использовать переменную NEW вместо того, чтобы просто использовать переменную, которую вы извлекаете из B. Если имеется много наблюдений в A, соответствующих только одному наблюдению в B, SAS не изменит значения столбца 3 до тех пор, покаНеобходимо прочитать новое наблюдение из B.
data want ;
merge A B (keep=column2 column3);
by column2 ;
if column1 = 'A' then new_column3=column3;
else new_column3=column4;
run;
Обратите внимание, что оба набора данных должны быть отсортированы, чтобы их можно было объединить.
Я добавил опцию набора данных KEEP=
, потому что вы указали оба набора данных как имеющие общий неключевой идентификатор переменной.Отсутствие идентификатора в списке переменных, считываемых из B, предотвратит перезапись его значений переменной с аналогичным именем из набора данных A.