Sas 有没有办法将索引放入proc排序?
假设我对数据集进行如下排序:Sas 有没有办法将索引放入proc排序?,sas,Sas,假设我对数据集进行如下排序: proc sort data = temp; by type descending score; run; 是否有一种优雅的方式可以为每种类型的每个分数添加一个计数器?我知道我可以使用first和last语句,但在排序中是否有方法添加计数器 TYPE SCORE index A 20 1 A 10 2 A 5 3 B 90 1 B 80 2 B 70
proc sort data = temp;
by type descending score;
run;
是否有一种优雅的方式可以为每种类型的每个分数添加一个计数器?我知道我可以使用first和last语句,但在排序中是否有方法添加计数器
TYPE SCORE index
A 20 1
A 10 2
A 5 3
B 90 1
B 80 2
B 70 3
不,在Proc排序中没有这样的方法。您需要使用datastep或datastep视图来执行此操作
proc sort data = temp;
by type descending score;
run;
data temp_v / view=temp_v;
set temp;
by type descending score;
if first.type then counter=0;
if first.score then counter+1;
run;
这有效地满足了您的要求—它添加了一个计数器,而无需添加额外的数据传递