Sas: як використовувати order by у proc sql


Ви можете використовувати оператор ORDER BY у PROC SQL у SAS, щоб сортувати результати запиту на основі значень однієї або кількох змінних.

Ось три поширені способи використання оператора ORDER BY на практиці:

Спосіб 1: Порядок за зростаючою змінною

 /*display results in ascending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team ;
quit ;

Спосіб 2: порядок за зменшенням змінної

 /*display results in descending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team desc ;
quit ;

Спосіб 3: порядок за кількома змінними

 /*display results in ascending order by team, then descending order by points*/
proc sql ;
   select *
   from my_data
   order by team, points desc ;
quit ;

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким набором даних у SAS, який містить інформацію про різних баскетболістів:

 /*create dataset*/
data my_data;
    input team $position $points assists;
    datalines ;
A Guard 14 4
B Guard 22 6
B Guard 24 9
A Forward 13 8
C Forward 13 9
A Guard 10 5
B Guard 24 4
C Guard 22 6
D Forward 34 2
D Forward 15 5
B Forward 23 5
B Guard 10 4
;
run ;

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

Приклад 1: Порядок за зростаючою змінною

У наступному коді показано, як повернути кожен рядок у наборі даних у порядку зростання на основі значень стовпця команди :

 /*display results in ascending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team;
quit ; 

Зверніть увагу, що результати відображаються в порядку зростання за значеннями в стовпці Команда .

Приклад 2: порядок за зменшенням змінної

У наступному коді показано, як повернути кожен рядок у наборі даних у порядку спадання на основі значень стовпців команди :

 /*display results in descending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team desc ;
quit ; 

Зверніть увагу, що результати відображаються в порядку спадання на основі значень у стовпці Команда .

Приклад 3: порядок за кількома змінними

Наступний код показує, як повернути кожен рядок у наборі даних спочатку в порядку зростання команди , а потім у порядку спадання пунктів :

 /*display results in ascending order by team, then descending order by points*/
proc sql ;
   select *
   from my_data
   order by team, points desc ;
quit ; 

Зауважте, що результати відображаються спочатку в порядку зростання команди , потім у порядку спадання балів .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

SAS: як використовувати UNION у PROC SQL
SAS: як використовувати EXCEPT у PROC SQL
SAS: Як використовувати оператор IN у PROC SQL
SAS: як використовувати оператор WHERE у PROC SQL

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

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