Вы можете использовать оператор IF-THEN-DO в SAS для выполнения блока операторов , если какое-то условие истинно.
Этот оператор использует следующий основной синтаксис:
if var1 = " value " then do ;
new_var2 = 10;
new_var3 = 5;
end ;
Примечание.Оператор IF-THEN используется, когда вы хотите сделать только один оператор. Оператор IF-THEN-DO используется, когда вы хотите сделать несколько операторов.
В следующем примере показано, как использовать инструкцию IF-THEN-DO на практике.
Пример: IF-THEN-DO в SAS
Предположим, у нас есть следующий набор данных в SAS, который показывает общий объем продаж двух магазинов в течение последовательных дней:
/\*create dataset\*/
data original_data;
input store $ sales;
datalines ;
A 14
A 19
A 22
A 20
A 16
A 26
B 40
B 43
B 29
B 30
B 35
B 33
;
run ;
/\*view dataset\*/
proc print data =original_data;

Мы можем использовать следующий оператор IF-THEN-DO для создания двух новых переменных, которые принимают определенные значения, если хранилище равно «A» в исходном наборе данных:
/\*create new dataset\*/
data new_data;
set original_data;
if store = " A " then do ;
region=" East ";
country=" Canada ";
end ;
run ;
/\*view new dataset\*/
proc print data =new_data;

Вот как работал этот кусок кода:
Если магазин был равен «A», тогда создавалась новая переменная под названием « Регион » со значением «Восток», а новая переменная под названием « Страна » создавалась со значением «Канада».
Обратите внимание, что мы также можем использовать несколько операторов IF-THEN-DO:
/\*create new dataset\*/
data new_data;
set original_data;
if store = " A " then do ;
region=" East ";
country=" Canada ";
end ;
if store = " B " then do ;
region=" West ";
country=" USA ";
end ;
run ;
/\*view new dataset\*/
proc print data =new_data;

Вот как работал этот кусок кода:
- Если магазин был равен «A», тогда создавалась новая переменная под названием « Регион » со значением «Восток», а новая переменная под названием « Страна » создавалась со значением «Канада».
- Если магазин был равен «B», то значение для региона было «Запад», а значение для страны — «США».
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как нормализовать данные в SAS
Как удалить дубликаты в SAS
Как заменить пропущенные значения нулем в SAS