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】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」

今回はOUTPUTとDELETEにスポットを当てていきたいと思います。 /* output, delete無し */ data data1; Id1=1111; Char1=”AAAA”; outpu …

【SAS】SAS Studio上でカラムの順番を変える方法

今回はSAS Studio上でカラムの順番を変える操作について解説します。 ちなみにカラムの出力順をプログラムで制御する方法は過去の記事で解説しています。(参考:【SAS】FORMATはカラムの出力順 …

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

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

【SAS】データセットのオブザベーション数で処理を分岐させる方法【IF】【NOBS】

今回は、データセットのオブザベーション数により、処理を分岐させる方法について解説していきたいと思います。 (参考:【SAS】データセットの有無で処理を分岐させる方法【%IF】【EXIST】 | ビジネ …

【SAS】FREQプロシージャは頻度集計とクロス集計をする その2【LIST】【CROSSLIST】【NOROW】【NOCOL】

今回はFREQプロシージャにオプションを用いた場合について解説します。  FREQプロシージャの基本的な使い方については過去記事で解説しています。⇒【SAS】FREQプロシージャは頻度集計とクロス集計 …