Sas: proc sql で order by を使用する方法


SAS のPROC SQLORDER BYステートメントを使用すると、1 つ以上の変数の値に基づいてクエリの結果を並べ替えることができます。

実際にORDER BYステートメントを使用する一般的な 3 つの方法を次に示します。

方法 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: PROC SQL で UNION を使用する方法
SAS: PROC SQL での EXCEPT の使用方法
SAS: PROC SQL で IN 演算子を使用する方法
SAS: PROC SQL で WHERE 演算子を使用する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です