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