Sas: jak używać operatora where w proc sql


Możesz użyć operatora WHERE w instrukcji PROC SQL w SAS-ie, aby zwrócić tylko wiersze, w których spełnione są określone warunki.

Poniższe przykłady pokazują, jak używać operatora WHERE w następujących scenariuszach:

  • Wybierz wiersze, w których spełniony jest warunek.
  • Wybierz wiersze, w których spełniony jest jeden z kilku warunków.
  • Wybierz wiersze, w których spełnionych jest wiele warunków.

Poniższe przykłady pokazują, jak używać operatora WHERE w każdym scenariuszu z następującym zestawem danych w SAS-ie:

 /*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; 

Przykład 1: wybierz wiersze, w których spełniony jest warunek

Poniższy kod ilustruje sposób użycia operatora WHERE w instrukcji SQL PROC w celu wybrania wszystkich wierszy w zestawie danych, w których zespół jest równy A:

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

Jedyne zwrócone wiersze to te, w których drużyna jest równa A.

Przykład 2: Wybierz wiersze, w których spełniony jest jeden z kilku warunków

Poniższy kod ilustruje sposób użycia operatora WHERE w instrukcji SQL PROC w celu wybrania wszystkich wierszy w zestawie danych, w których zespół jest równy A lub liczba punktów jest większa niż 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 ;

Zwracane są jedynie wiersze, w których drużyna jest równa A lub liczba punktów jest większa niż 30:

Przykład 3: wybierz wiersze, w których spełnionych jest wiele warunków

Poniższy kod ilustruje sposób użycia operatora WHERE w instrukcji SQL PROC w celu wybrania wszystkich wierszy w zestawie danych, w których zespół jest równy A , a liczba punktów jest większa niż 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 ;

Jedyne zwracane linie to te, w których drużyna jest równa A , a punkty są większe niż 13:

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

SAS: Jak używać operatora IN w PROC SQL
SAS: Jak używać UNION w PROC SQL
SAS: Jak używać EXCEPT w PROC SQL

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *