楼主: qinzhenxp
5416 3

请问如何根据百分比(如前40%)来筛选数据? [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
99 点
帖子
5
精华
0
在线时间
2 小时
注册时间
2013-11-25
最后登录
2017-7-14

楼主
qinzhenxp 发表于 2014-6-5 07:56:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题,正在用SAS做一个股票投资策略,涉及到根据市盈率筛选出前40%的股票,请问如何用语句实现?希望各位牛人回答,谢谢啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:筛选数据 百分比 股票投资 投资策略 如何用 百分比 如何

沙发
mingfeng07 学生认证  发表于 2014-6-5 12:45:39
用proc rank过程可以实现百分位排序。然后利用这个过程可以筛选
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

藤椅
zorro999 发表于 2014-6-6 10:41:09
来个笨方法,保证实用:
/*先把data set排序*/
Proc sort data =table1 ;
By descending 市盈率;
Run;
/*前40%的记录个数*/
proc sql outobs=1 number ;
select count(*)*0.4 into :num from table1 ;
quit;
%put &num.;
/*打印*/
proc sql inobs=#
select * from table1;
quit;

板凳
sypan_forum 发表于 2014-6-8 19:50:46
zorro999 发表于 2014-6-6 10:41
来个笨方法,保证实用:
/*先把data set排序*/
Proc sort data =table1 ;
可以更简单点:

proc sort data=table1;
        By descending 市盈率;
Run;
data table1;
        set table1 nobs=tot;
        if _N_ <= 0.4 * tot;
run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 14:51