DESCENDING SAS SORT

【SAS】SORTプロシージャはBYで指定した変数で並べ替える その2 降順

投稿日:

今回はSORTプロシージャの降順について解説します。(前回:【SAS】SORTプロシージャはBYで指定した変数で並べ替える その1 昇順 | ビジネスイッチ (how-to-business.com)


/*sort1*/
data data1;
  id1="1111"; id2="1111";
    output;
  id1="1111"; id2="2222";
    output;
  id1="1111"; id2="3333";
    output;
  id1="2222"; id2="1111";
    output;
  id1="2222"; id2="2222";
    output;
  id1="2222"; id2="3333";
    output;
  id1="3333"; id2="1111";
    output;
  id1="3333"; id2="2222";
    output;
  id1="3333"; id2="3333";
    output;
run;



proc sort data=data1 out=data2 ; by descending id1 ; run;

  • id1で降順に並び替える。(id2はソート前の状態をキープ)

/*sort2*/
data data1;
  id1="1111"; id2="1111";
    output;
  id1="1111"; id2="2222";
    output;
  id1="1111"; id2="3333";
    output;
  id1="2222"; id2="3333";
    output;
  id1="2222"; id2="2222";
    output;
  id1="2222"; id2="1111";
    output;
  id1="3333"; id2="2222";
    output;
  id1="3333"; id2="1111";
    output;
  id1="3333"; id2="3333";
    output;
run;



proc sort data=data1 out=data2 ; by descending id1 ; run;

  • id1で降順に並び替える。(id2はソート前の状態をキープ)

/*sort3_1*/
data data1;
  id1="1111"; id2="1111";
    output;
  id1="1111"; id2="2222";
    output;
  id1="1111"; id2="3333";
    output;
  id1="2222"; id2="1111";
    output;
  id1="2222"; id2="2222";
    output;
  id1="2222"; id2="3333";
    output;
  id1="3333"; id2="1111";
    output;
  id1="3333"; id2="2222";
    output;
  id1="3333"; id2="3333";
    output;
run;



proc sort data=data1 out=data2 ; by descending id1 id2; run;

  • id1で降順、id2は昇順に並び替える。

/*sort3_2*/
data data1;
  id1="1111"; id2="1111";
    output;
  id1="1111"; id2="2222";
    output;
  id1="1111"; id2="3333";
    output;
  id1="2222"; id2="1111";
    output;
  id1="2222"; id2="2222";
    output;
  id1="2222"; id2="3333";
    output;
  id1="3333"; id2="1111";
    output;
  id1="3333"; id2="2222";
    output;
  id1="3333"; id2="3333";
    output;
run;



proc sort data=data1 out=data2 ; by  id1 descending id2; run;

  • id1で昇順、id2は降順に並び替える。

/*sort3_3*/
data data1;
  id1="1111"; id2="1111";
    output;
  id1="1111"; id2="2222";
    output;
  id1="1111"; id2="3333";
    output;
  id1="2222"; id2="1111";
    output;
  id1="2222"; id2="2222";
    output;
  id1="2222"; id2="3333";
    output;
  id1="3333"; id2="1111";
    output;
  id1="3333"; id2="2222";
    output;
  id1="3333"; id2="3333";
    output;
run;



proc sort data=data1 out=data2 ; by descending id1 descending id2; run;

  • id1とid2で降順に並び替える。

-DESCENDING, SAS, SORT

執筆者:


comment

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

関連記事

【SAS】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …

【SAS】||(!!)は文字列の連結ができる。【結合】

今回は||(!!)について解説します。 /* || */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1=” BBBB”; o …

【SAS】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。

data data1; Id1 =intck(“YEAR”, ’31Dec2019’d, ‘1Jan2020’d); run; 2019/12/31~2020/1/1の間に年を何回跨ぐか数える。 /* …

【SAS】LIBNAMEはディレクトリパスをライブラリに割り当てる

今回はLIBNAMEについて解説します。 ちなみにSAS Base Programmingでは、LIBNAMEができないと前半の記述問題が解けません。(データセットが与えられるので、割り当てられないと …

【SAS】ATTRIBによる形式変換とPUTによる形式変換の違いを解説

今回は、ATTRIBによる形式変換とPUTによる形式変換の違いを解説します。 結論:ATTRIBは入力項目が数値型、文字列型どちらにも対応できるが、    PUTは入力項目が数値型の時しか使えない。 …