楼主: kraviscufe
1287 4

求SAS高手,一个编程问题,谢谢! [推广有奖]

  • 0关注
  • 0粉丝

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2011-5-15
最后登录
2011-5-15

楼主
kraviscufe 发表于 2011-5-15 22:12:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求SAS高手,我的数据是这样的:
基金代码           时间                 基金份额
000001         2003.3.12                12
000001         2003.6.30                17
000001         2003.9.30                20
000001         2003.12.31              30
002011         2003.3.20                10
002011         2003.12.31               30
100001         2003.8.30                 20
100001         2003.12.31               13
200002         2003.10.30               10
200002         2003.12.31               23
........................................................

630001         2003.12.20               20
630001         2003.12 31               34

我需要获取每只基金第一个数据,即
基金代码           时间                 基金份额
000001         2003.3.12                12
002011         2003.3.20                10
100001         2003.8.30                 20
200002         2003.10.30               10
........................................................

630001         2003.12.20               20

请问怎么编程啊,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:怎么编程 高手 SAS

回帖推荐

ttklkl 发表于3楼  查看完整内容

data fund; input code $ date rate; informat date ddmmyy10.; format date ddmmyy10.; cards; 000001 12/03/2003 12 000001 30/06/2003 17 000001 30/09/2003 20 000001 31/12/2003 30 002011 20/03/2003 10 002011 31/12/2003 30 100001 30/08/2003 20 100001 31/12/2003 13 200002 30/10/2003 10 ; run; proc sort data=fund out=fund1; by code; run; *每只基金第一个数据; data fund2; set fu ...
已有 1 人评分学术水平 收起 理由
耕耘使者 + 1 鼓励学术交流

总评分: 学术水平 + 1   查看全部评分

本帖被以下文库推荐

沙发
fcsworkhard 在职认证  发表于 2011-5-15 22:27:06
首先说一下,我不是sas高手,甚至不会sas。
但是我想了一下你这个问题可不可以这样:
就是每一行的数据有个编号
做个循环
首先第一个数据的基金代码跟一个空值比,如果不等,那么保留第一个数据,设为a1。
并且以后第i个数据都跟a1比较,如果相等,就删除第i个;如果不等,保留这个数据,设为a2。
以后的第j(i<j)个数据数据就跟a2比,以此类推。。。
那么最后保留的数据,应该就是楼主所要求的。
已有 1 人评分学术水平 收起 理由
耕耘使者 + 1 积极应助

总评分: 学术水平 + 1   查看全部评分

藤椅
ttklkl 发表于 2011-5-21 22:48:52
data fund;
input code $ date rate;
informat date ddmmyy10.;
format date ddmmyy10.;
cards;
000001  12/03/2003 12
000001  30/06/2003 17
000001  30/09/2003 20
000001  31/12/2003 30
002011  20/03/2003 10
002011  31/12/2003 30
100001  30/08/2003 20
100001  31/12/2003 13
200002  30/10/2003 10
;
run;
proc sort data=fund out=fund1;
by code;
run;
*每只基金第一个数据;
data fund2;
set fund1;
by code;
if first.code;
run;
已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
胖胖小龟宝 + 10 + 10 热心帮助其他会员
耕耘使者 + 2 + 1 积极应助

总评分: 经验 + 10  论坛币 + 10  学术水平 + 2  热心指数 + 1   查看全部评分

Stay Hungry. Stay Foolish.

板凳
uoke 发表于 2011-5-31 19:53:23
我有把握完成。正好用到我刚刚学的一个知识点,仍需进一步研究。

如果你现在还没有解决的话,把你的数据发给我(精简到100条观测)。我好好做个试验,返回给你。

uoke_wang@hotmail.com

报纸
uoke 发表于 2011-5-31 19:57:32
刚刚仔细读了3楼的CODE,该觉是对的。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 19:55