Re: [問題] SAS巨集程式不知道哪裡錯了

看板Statistics作者 (咖啡王子)時間15年前 (2011/02/11 09:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/6 (看更多)
首先先思考 你是要分年加總 所以只要能夠很快算出分年加總就OK了 但是你的資料又都是橫向這樣擺法 所以要這麼做 proc transpose data=a out=a;by year; run; proc means noprint data=a; var col1; by year _name_; output out=a sum=sum; run; proc transpose data=a out=a(drop=_name_); var sum; by year; id _name_; run; 這樣的步驟 應該就可以解決了 思考一下轉置 應該就可以把你想做的全部算完 你的問題算是有趣的 只是用巨集 或者用SQL可能都會比較辛苦就是了 ※ 引述《imaltar (..)》之銘言: : ※ 引述《icebing (愛吃冰的艾斯冰= =")》之銘言: : : 程式不知道哪裡有問題 第一次寫macro請大家幫忙 謝謝 : : 原始資料 想轉成 : : Year a1818 a1819 Year a1818 a1819 : : 1992 5 9 1992 9 17 : : 1992 4 8 2002 5 4 : : 2002 3 3 : : 2002 2 1 : : 公司家數大概1000家 共60幾年 想要分組分年加總 : : 原始程式是(已經將data import進去) : : data qq; : : set rr; : : %macro aa; : : %do a=1818 %to 1819 : : proc sql; : : create table new_&a as : : select sum(&a) as &a,year : : from rr : : group by year : : ; : : run; : : %end; : : %mend; : : %aa; : : 不知道哪裡錯了 請大家給我指教謝謝 : data rr;input Year a1818 a1819; : cards; : 1992 5 9 : 1992 4 8 : 2002 3 3 : 2002 2 1 : ; : run; : proc sql; : create table new_1 as : select year,sum(a1818) as b1818,sum(a1819) as b1819 : from rr : group by year : ; : quit; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.136.215.209
文章代碼(AID): #1DL8tnHM (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1DL8tnHM (Statistics)