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