Мы можем использовать оператор CASE в SAS, чтобы создать новую переменную, которая использует логику case-when для определения значений, присваиваемых новой переменной.
Этот оператор использует следующий основной синтаксис:
proc sql ;
select var1, case
when var2 = 'A' then 'North'
when var2 = 'B' then 'South'
when var2 = 'C' then 'East'
else 'West'
end as variable_name
from my_data;
quit ;
В следующем примере показано, как использовать оператор CASE на практике.
Пример: использование оператора CASE в SAS
Предположим, у нас есть следующий набор данных в SAS:
/\*create dataset\*/
data original_data;
input team $ points rebounds;
datalines ;
A 25 8
A 18 12
A 22 6
B 24 11
B 27 14
C 33 19
C 31 20
D 30 17
D 18 22
;
run;
/\*view dataset\*/
proc print data =original_data;

Мы можем использовать следующий оператор CASE , чтобы создать новую переменную с именем Division , значения которой основаны на значениях переменной team :
/\*create dataset\*/
proc sql ;
select team, points, case
when team = 'A' then 'North'
when team = 'B' then 'South'
when team = 'C' then 'East'
else 'West'
end as Division
from original_data;
quit ;

Обратите внимание, что была создана новая переменная Division , значения которой основаны на значениях переменной team .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать IF-THEN-DO в SAS
Как удалить строки в SAS
Как удалить дубликаты в SAS