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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *