全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4096 11
2013-01-10
我有一组数据,tran_id fyear
                         1       2000
                         1       2000
                          2     2001
                          2     2001
                          2     2001
                         ......
现在需要计算,同一tran_id和fyear出现了几次,并生成一个新变量,例如:
                         tran_id fyear    n

                         1       2000       2
                         1       2000       2
                          2     2001         3
                          2     2001         3
                          2     2001         3

在sas中如何实现?谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-10 16:04:55
data ex;
input
tran_id fyear;
cards;
1     2000
1     2000
2     2001
2     2001
2     2001
;
run;

proc sql;
create table ex1 as
select t.*,t1.count
from ex t
inner join
(select *,count(1) as count from ex
group by tran_id,fyear) as t1
on t.tran_id=t1.tran_id
and t.fyear=t1.fyear;
quit;
二维码

扫码加我 拉你入群

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

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

2013-1-10 16:33:06
ziyenano 发表于 2013-1-10 16:04
data ex;
input
tran_id fyear;
请问count(1)是什么意思?谢谢了!
二维码

扫码加我 拉你入群

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

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

2013-1-10 16:39:10
根据group by后面的分组,每一组的计数
二维码

扫码加我 拉你入群

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

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

2013-1-10 16:58:37
复制代码

Obs

tran_id

year

COUNT

PERCENT

1

1

2000

2

28.5714

2

2

2001

3

42.8571

3

3

2002

2

28.5714




二维码

扫码加我 拉你入群

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

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

2013-1-10 18:07:11
ziyenano 发表于 2013-1-10 16:39
根据group by后面的分组,每一组的计数
哦,明白了,谢谢!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群