Sas: як використовувати оператор if у proc sql
Хоча неможливо використовувати оператор IF у PROC SQL у SAS, ви можете використовувати оператор CASE , щоб визначити значення, які має приймати змінна на основі певних умов.
У наведених нижче прикладах показано, як використовувати оператор CASE на практиці з таким набором даних у SAS, який містить інформацію про різних баскетболістів:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data =my_data;
Приклад 1: використання оператора CASE лише з двома результатами
Ми можемо використовувати оператор CASE в PROC SQL для створення нового стовпця в наборі даних під назвою points_flag , який приймає значення 0, якщо значення в стовпці точок менше 20, або значення 1 в іншому випадку:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0 else 1
end as points_flag
from my_data;
quit ;
Зауважте, що стовпець points_flag приймає значення 0, якщо значення стовпця points менше 20, або значення 1 в іншому випадку.
Приклад 2: використання оператора CASE з більш ніж двома результатами
Ми також можемо використовувати оператор CASE в PROC SQL для створення нового стовпця в наборі даних під назвою points_flag , який приймає значення 0, якщо значення в стовпці точок менше 20, значення 1, якщо точок менше 35, або значення 2 інакше:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0
when points < 35 then 1 else 2
end as points_flag
from my_data;
quit ;
Зауважте, що стовпець points_flag приймає значення 0, 1 або 2 залежно від відповідного значення в стовпці points .
Примітка . Не соромтеся використовувати скільки завгодно операторів when , щоб створити стільки різних значень, скільки хочете, у новому стовпці.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
SAS: як використовувати оператор WHERE у PROC SQL
SAS: Як використовувати оператор IN у PROC SQL
SAS: як використовувати UPDATE у PROC SQL
SAS: як використовувати CONTAINS у PROC SQL