作者tew (咖啡王子)
站内Statistics
标题Re: [问题] SAS巨集程式不知道哪里错了
时间Fri Feb 11 09:16:30 2011
首先先思考
你是要分年加总
所以只要能够很快算出分年加总就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