Sas: как использовать оператор where в proc sql


Вы можете использовать оператор WHERE в инструкции PROC SQL в SAS, чтобы возвращать только те строки, в которых выполняются определенные условия.

В следующих примерах показано, как использовать оператор WHERE в следующих сценариях:

  • Выберите строки, в которых выполняется условие.
  • Выберите строки, в которых выполняется одно из нескольких условий.
  • Выберите строки, в которых соблюдено несколько условий.

В следующих примерах показано, как использовать оператор WHERE в каждом сценарии со следующим набором данных в SAS:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
AT 12
At 14
At 15
At 18
B 31
B 32
C 35
C 36
C40
D 28
E20
E 21
;
run ;

/*view dataset*/
proc print data =my_data; 

Пример 1: выберите строки, в которых выполняется условие

Следующий код показывает, как использовать оператор WHERE в инструкции SQL PROC для выбора всех строк в наборе данных, где команда равна A:

 /*select all rows where team is equal to A*/
proc sql ;
   select *
   from my_data
   where team = 'A';
quit ;

Возвращаются только строки, в которых команда равна A.

Пример 2. Выберите строки, в которых выполняется одно из нескольких условий.

В следующем коде показано, как использовать оператор WHERE в инструкции SQL PROC для выбора всех строк в наборе данных, где команда равна A или количество баллов превышает 30:

 /*select all rows where team is equal to A or points is greater than 30*/
proc sql ;
   select *
   from my_data
   where team = 'A' or points > 30 ;
quit ;

Возвращаются только строки, в которых команда равна А или количество очков превышает 30:

Пример 3: выберите строки, в которых соблюдено несколько условий

В следующем коде показано, как использовать оператор WHERE в инструкции SQL PROC для выбора всех строк в наборе данных, где команда равна A , а количество баллов больше 13:

 /*select all rows where team is equal to A and points is greater than 13*/
proc sql ;
   select *
   from my_data
   where team = 'A' and points > 13 ;
quit ;

Возвращаются только строки, в которых команда равна А и количество очков больше 13:

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

SAS: как использовать оператор IN в PROC SQL
SAS: как использовать UNION в PROC SQL
SAS: как использовать EXCEPT в PROC SQL

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *