SAS中文论坛

标题: 请教高手:一个排序的问题 [打印本页]

作者: shiyiming    时间: 2008-1-31 17:46
标题: 请教高手:一个排序的问题
假设有三只股票A,B,C,每天有一个累加值的报表;前三天数据如下:
股票 累加值
a  0
b  0
c  1

a  0
b  1
c  1

a  2
b  2
c  1

现希望对每天的累加值按照降序排列,则前三天排序结果期望如下:
第一天:c a b
第二天:c b a
第三天:b a c
注:第二天是c b a的原因:尽管第二天b和c累计值都是1,但是由于c先于b到达1,所以c排前.
请问如何实现?多谢了!
作者: shiyiming    时间: 2008-2-1 13:56
标题: Re: 请教高手:一个排序的问题
假如数据整成行的,做起来可能容易些,下面举个列子
data a;
        input x $ day1 day2 day3;
        cards;
        a 0 0 2
        b 0 1 2
        c 1 1 1
;
run;
*** 第一天 ***;
proc sort data=a out=day1;
        by descending day1;
run;
*** 第二天 ***;
proc sort data=a out=day2;
        by descending day2 descending day1;
run;
*** 第三天 ***;
proc sort data=a out=day3;
        by descending day3 descending day2 descending day1;
run;

至于更多天的,做成一个宏就行了




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2