SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 610|回复: 1
打印 上一主题 下一主题

请教高手:一个排序的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-1-31 17:46:50 | 只看该作者

请教高手:一个排序的问题

假设有三只股票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排前.
请问如何实现?多谢了!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-2-1 13:56:28 | 只看该作者

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;

至于更多天的,做成一个宏就行了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 14:15 , Processed in 0.066366 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表