[程式] SAS如何計數並產生一新變數

看板Statistics作者 (造啦~塞狼)時間16年前 (2010/03/08 23:38), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/2 (看更多)
[軟體程式類別]:SAS [程式問題]:資料處理 [軟體熟悉度]: 新手(不到1個月) [問題敘述]: 想請問一下各位神人,若有以下的資料範例 想要計算在相同的CUSIP 下,有幾個分析師,並產生一新的變數"分析師數量" 該如何寫程式碼 原本想要用SQL來計算 但程式跑出來的結果確是所有CUSIP下,分析師的總量 想請問程式碼如何更改~謝謝 原始資料範例 CUSIP ANALYSTS CODE 00001 A 00001 B 00001 C 00002 D 00002 E 想要變成的結果 CUSIP ANALYSTS 00001 3 00002 2 利用SQL跑出來的結果 ANALYSTS 5 [程式範例]: proc sql; create table OUT.IBESNEW as select * from OUT.IBES_SDC1 where CUSIP not in ( select CUSIP from OUT.IBES_SDC1 ); select count(distinct CUSIP) as ANALYSTS from OUT.IBES_SDC1; quit; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.211.33

03/08 23:45, , 1F
select custip,count(*) from XXX group by custip
03/08 23:45, 1F

03/09 00:06, , 2F
感謝1樓,但是我想要產生一新變數,如按照你提供的CODE
03/09 00:06, 2F

03/09 00:06, , 3F
跑出來,會是一個output而已,沒有產生新變數
03/09 00:06, 3F

03/09 00:14, , 4F
自己加些 create table, count(*) as ANALYSTS不難吧
03/09 00:14, 4F

03/09 00:21, , 5F
感謝~已經試出了
03/09 00:21, 5F

03/09 00:28, , 6F
proc freq data = XXX; freq id /out=new; run;
03/09 00:28, 6F

03/09 00:29, , 7F
freq CUSIP才對
03/09 00:29, 7F
文章代碼(AID): #1BbHe0qP (Statistics)
文章代碼(AID): #1BbHe0qP (Statistics)