由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - SAS Proc SQL count问题
相关主题
Help! proc sql;cout not null value.我也来请教一个SAS问题
请教proc sql完全不懂SAS,急请教一个问题
问个sql问题请教SAS SQL
[求助]count coverage days如何删除重复的OBS?
请问SAS大牛一个关于proc sql joinSAS快捷键问题
SAS Code 求助,如何把在另一个dataset的id找出来sas问题
SAS 问题大牛请进,问个sas问题
SAS code help求教个SQL的问题
相关话题的讨论汇总
话题: code话题: count话题: sql话题: proc话题: sas
进入Statistics版参与讨论
1 (共1页)
h**h
发帖数: 488
1
ID Code
01 111
01 111
01 112
01 111
02 111
02 112
02 112
现在我要弄成
ID Code Count
01 111 3
01 112 1
02 112 2
02 111 1
就是把unique的Code count出来,从大到小排。SAS Proc SQL count怎么做。
l******m
发帖数: 111
2
PROC SQL;
CREATE TABLE X1 AS
SELECT DISTINCT ID,CODE,COUNT(CODE) AS COUNT
FROM (YOUR DATA)
GROUP BY ID,CODE
ORDER BY ID , COUNT DESC
;
QUIT;
z**o
发帖数: 149
3
select count(distinct code) as n
from ..
group by id, code
order by id, code
;

【在 h**h 的大作中提到】
: ID Code
: 01 111
: 01 111
: 01 112
: 01 111
: 02 111
: 02 112
: 02 112
: 现在我要弄成
: ID Code Count

h**h
发帖数: 488
4
我是没有开始select distinct ID, 所以怎么group都不成。
再问一下,如果要在每个ID里只挑选Count中前5名的,能在SQL中完成吗?
o*******w
发帖数: 2310
5
proc sql outobs=5;

【在 h**h 的大作中提到】
: 我是没有开始select distinct ID, 所以怎么group都不成。
: 再问一下,如果要在每个ID里只挑选Count中前5名的,能在SQL中完成吗?

h**h
发帖数: 488
6
这只列出first 5 observations, 不是给每个ID的。

【在 o*******w 的大作中提到】
: proc sql outobs=5;
l******m
发帖数: 111
7
貌似SAS的SQL没有top的function,一定要用SAS SQL来写的话,试着用table自己left
join 自己。用SAS 其他function来写的话比较容易实现一点,但是对于大型数据比较
吃力
h**h
发帖数: 488
8
折腾了好久,是不行。只能用data step了。有简单的方法吗?

left

【在 l******m 的大作中提到】
: 貌似SAS的SQL没有top的function,一定要用SAS SQL来写的话,试着用table自己left
: join 自己。用SAS 其他function来写的话比较容易实现一点,但是对于大型数据比较
: 吃力

l******m
发帖数: 111
9
proc sql ;
create table want as
select a.*
from (result) as a
left join (result) as b on (a.id=b.id and a.count<=b.count)
group by a.id, a.count
having count(*) <=5
order by a.id, a.count desc ;
quit;
这样会有一个问题,举例来说当ID是01时候,111有10个,112有9个,113有8个,114有
7个,115和116都是6个,前5名应该是111-114,加上115或者116,但是用这种方法没有
办法得到。
h**h
发帖数: 488
10
其实我想要的是这样的,count以后会出现这样的结果,
ID Code Count
01 111 4
01 112 3
01 113 2
01 114 1
02 112 4
02 111 3
02 114 2
02 113 1
每个ID之想保留count前2名的,就是选成。
ID Code Count
01 111 4
01 112 3
02 112 4
02 111 3
因为有的ID拥有的code非常多,不想全保留。
1 (共1页)
进入Statistics版参与讨论
相关主题
求教个SQL的问题请问SAS大牛一个关于proc sql join
问个sql的问题吧,搞不出来了.SAS Code 求助,如何把在另一个dataset的id找出来
proc sql count(distinct XX) and count (unique xx)SAS 问题
在用SAS RUN一个SQL,可是出现了错误,请高手指教SAS code help
Help! proc sql;cout not null value.我也来请教一个SAS问题
请教proc sql完全不懂SAS,急请教一个问题
问个sql问题请教SAS SQL
[求助]count coverage days如何删除重复的OBS?
相关话题的讨论汇总
话题: code话题: count话题: sql话题: proc话题: sas