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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *