Sas: proc sql에서 order by를 사용하는 방법


SAS의 PROC SQL 에서 ORDER BY 문을 사용하여 하나 이상의 변수 값을 기준으로 쿼리 결과를 정렬할 수 있습니다.

실제로 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 ; 

결과는 Team 열의 값을 기준으로 내림차순으로 표시됩니다.

예 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: PROC SQL에서 UNION을 사용하는 방법
SAS: PROC SQL에서 EXCEPT를 사용하는 방법
SAS: PROC SQL에서 IN 연산자를 사용하는 방법
SAS: PROC SQL에서 WHERE 연산자를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다