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;
这有效地满足了您的要求—它添加了一个计数器,而无需添加额外的数据传递