Re: [問題] SAS巨集程式不知道哪裡錯了
首先先思考
你是要分年加總
所以只要能夠很快算出分年加總就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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 6 篇):