今回は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で降順に並び替える。