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】%MACROはマクロを定義することができる。その4 引数違いの同名マクロは区別できない。【%MEND】

今回は引数違いの同名マクロについて解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEND】 | …

【SAS】DISTINCTは重複をユニークにする。【SQL】

今回はSQL文のDISTINCTについて解説します。 /* Id1 */ data data1; Id1=1111; Id2=1111; Id3=1111; Id4=1111; output; Id1 …

【SAS】COALESCEはNULLを数字に置き換える

今回はCOALESCEについて解説します。 /*coalesce 正常形*/ data data1; id=”A”; chiku=1111; output; id=”B”; chiku=2222; o …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …

【SAS】FORMATはカラムの出力順を制御できる

今回はFORMATについて解説します。 /* format全て指定 */ data data1; id1=”A”; id2=”B”; id3=”C”; id4=”D”; run; data data2 …