Sas: jak używać instrukcji jeżeli w proc sql


Choć w PROC SQL w SAS-ie nie ma możliwości użycia instrukcji IF , to za pomocą operatora CASE można zdefiniować wartości, jakie zmienna powinna przyjmować w oparciu o określone warunki.

Poniższe przykłady pokazują, jak w praktyce wykorzystać operator CASE z następującym zbiorem danych w SAS-ie, który zawiera informacje o różnych koszykarzach:

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

Przykład 1: Użycie operatora CASE z tylko dwoma wynikami

Możemy użyć operatora CASE w PROC SQL , aby wygenerować nową kolumnę w zbiorze danych o nazwie flaga_punktów , która przyjmuje wartość 0, jeśli wartość w kolumnie punktów jest mniejsza niż 20, lub wartość 1 w przeciwnym razie:

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

Należy zauważyć, że kolumna flaga punktów przyjmuje wartość 0, jeśli wartość kolumny punktów jest mniejsza niż 20, lub wartość 1 w przeciwnym razie.

Przykład 2: Użycie operatora CASE z więcej niż dwoma wynikami

Możemy również użyć operatora CASE w PROC SQL , aby wygenerować nową kolumnę w zbiorze danych o nazwie flaga_punktów , która przyjmuje wartość 0, jeśli wartość w kolumnie punktów jest mniejsza niż 20, wartość 1, jeśli liczba punktów jest mniejsza niż 35, lub wartość 2 w przeciwnym razie:

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

Należy zauważyć, że kolumna flaga_punktów przyjmuje wartość 0, 1 lub 2 w zależności od odpowiadającej wartości w kolumnie punktów .

Uwaga : Możesz użyć dowolnej liczby instrukcji if, aby wygenerować dowolną liczbę różnych wartości w nowej kolumnie.

Dodatkowe zasoby

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

SAS: Jak używać operatora WHERE w PROC SQL
SAS: Jak używać operatora IN w PROC SQL
SAS: Jak używać UPDATE w PROC SQL
SAS: Jak używać CONTAINS w PROC SQL

Dodaj komentarz

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