数据集jan就像这样
cc spend
1 100
11 200
12 550
13 100
14 200
数据集就像这样
cc spend
1 100
11 200
12 550
13 100
在这里我们必须找出哪个月是销售更高的数据集jan或数据集feb.first我们必须计算jan&的花费总和。花费在feb上的总和,然后找到更高的。
我试试这段代码
data jantotal;
set jan;
sum spend;
run;
data febtotal;
set feb;
sum spend;
run;
答案 0 :(得分:0)
我不确定你的最终目标是什么,例如:您想要选择一个数据集而不是另一个数据集或者您只想要总结哪个月的销售额最高。
你可以先用proc sql做这样的事情,每个月创建一个输出数据集total
和花费总和。
proc sql;
create table total as
select "Jan" as month, sum(spend) as total
from jan
group by month
UNION
select "Feb" as month, sum(spend) as total
from feb
group by month;
quit;
如果您提供有关最终输出应该是什么的更多信息,我可以提供更多有用的代码。
答案 1 :(得分:0)
您的代码应如下所示:
data jantotal;
set jan end=last;
retain sum 0; /* this line is optional */
sum + spend;
if last;
month = "jan";
drop spend cc;
run;
data febtotal;
set feb end=last;
retain sum 0; /* this line is optional */
sum + spend;
if last;
month = "feb";
drop spend cc;
run;
之后你应该连接数据集:
data total;
set jantotal febtotal;
run;
排序结果:
proc sort data=total out=total_sorted;
by descending sum;
run;
我想在这里创建一些宏程序来自动化编写这个程序的过程。这个解决方案与@Huw几乎相同(结果),但代码更长,使用的是datasteps而不是sql。