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】「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」の対処法【NOTE】

今回は、 「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」 とログメッセージが出た時の対処法について解説します。 /* メッセージ_1 */ data d …

【SAS】INPUTは文字型を数値型に変換する

今回はINPUTについて解説します。 /*8桁*/ data work.a; a = input(“20061228”, 8.); run; 文字型⇒数値型への変換はinputを使う。文字型&#822 …

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

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

【SAS】IFステートメントは処理を分岐できる。その1

今回はSASのif文について解説していきたいと思います。 【IF文の関連記事】 (明示的、暗黙的OUTPUT:【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」 | ビジネスイ …

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

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