全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4560 10
2013-01-28
受到警告
悬赏 1 个论坛币 已解决
木有钱。。求求sas  累加 累乘的  宏!!!

最佳答案

yongyitian 查看完整内容

data aa; input var1 var2 var3; datalines; 1 2 3 2 3 4 3 4 5 4 5 6 5 6 7 ; run; %macro sum_prod(In=in, var=var, Out=out); data &Out; if _n_ = 1 then prod_&var=1; set &In; retain prod_&var; prod_&var=prod_&var*&var; sum_&var + &var; run; %mend; %sum_prod(In=aa, var=var1, Out=aa1); proc print data=aa1; title 'dataset aa1'; run; title;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-1-28 15:43:11
data aa;
input var1 var2 var3;
datalines;
1 2 3
2 3 4
3 4 5
4 5 6
5 6 7
; run;

%macro sum_prod(In=in, var=var, Out=out);
data &Out;
   if _n_ = 1 then prod_&var=1;
    set &In;
        retain prod_&var;
        prod_&var=prod_&var*&var;
        sum_&var + &var;
run;
%mend;
%sum_prod(In=aa, var=var1, Out=aa1);
proc print data=aa1; title 'dataset aa1'; run; title;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-28 16:19:36
%macro example;
data _NULL_;
set  A;
call symputx ('_n', _n_);
run;
DATA dataB;
SET A;
%do i =1 %to &_n;
%IF  &i= 1 %THEN %DO;
sum=K;
%END;
%ELSE %do;
sum=sum+k;
retain sum;
%end;
%end;
RUN;
%mend;
累乘将sum=sum+k改为sum=sum*k;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-28 16:33:15
不用宏也可以累加累乘啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-1 11:14:15
这个宏怎么调用呢?我是菜鸟一枚
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-1 14:14:42
累加可以用Proc SQL中的SUM来做
累乘可以先对数化,再求累加,最后用个exp就好了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群