如何仅基于类别中的一组特定值对数据进行排名?假设如果有基于同一客户/日期的类别2、4和5,那么5应该胜过4和2,4应该胜过2,5应该胜过2,依此类推。除此之外,任何其他类别都应该始终将其排名为1.(为简单起见,已修改值)。因此,对于(2/4/5)的任何类别,请检查王牌逻辑。任何其他类别,将其排名为1。谢谢!
想要
ClientName Date Category Age rank
A 1/1/2018 1 25 1
A 1/1/2018 2 25 3
A 1/1/2018 3 25 1
A 1/1/2018 4 25 2
A 1/1/2018 5 25 1
A 2/1/2018 2 25 1
B 3/1/2018 1 26 1
B 3/1/2018 3 26 1
我尝试过
proc rank data=test out=test2 ties=low descending;
by clientname date;
var category;
ranks rank;
run;