Automation SAS每月更新

Automation SAS每月更新,automation,sas,Automation,Sas,我有一个数据集,其中当月和上月有两列。我只需要对这两列执行求和操作。问题在于每个月更新一次列的名称都会发生变化。如何在SAS中自动执行此过程 当前数据集 九月至十月 12312 2319 3 37 21 下月数据集 ID 10月11日 11721 21223 35521 如何每月自动求和两列?如果总是有三列,第一列是ID,第二列和第三列是要求和的值,请使用数组 data mysum ; set mydata ; array n{*} _NUMERIC_ ; /* ID VAR1 VAR2

我有一个数据集,其中当月和上月有两列。我只需要对这两列执行求和操作。问题在于每个月更新一次列的名称都会发生变化。如何在SAS中自动执行此过程

当前数据集

九月至十月

12312
2319
3 37 21

下月数据集

ID 10月11日

11721
21223
35521


如何每月自动求和两列?

如果总是有三列,第一列是ID,第二列和第三列是要求和的值,请使用数组

data mysum ; set mydata ; array n{*} _NUMERIC_ ; /* ID VAR1 VAR2 */ /* sum 2nd & 3rd elements */ month_sum = sum(n{2},n{3}) ; run ; 数据mysum; 设置mydata; 数组n{*}u数值\;/*ID VAR1 VAR2*/ /*第二和第三要素之和*/ 月总和=总和(n{2},n{3}); 跑
如果要聚合列,请执行以下操作:

proc sql noprint;
select
cat('sum(', trim(name), ') as month', put(monotonic(), 1. -L)) into :sum_statement separated  by ', '
from dictionary.columns
where libname = 'WORK'
and memname = 'SOMETABLE'
and upcase(name) ne 'ID'
;
quit;

%put &sum_statement;

proc sql;
create table sum as
select &sum_statement from WORK.SOMETABLE
;
quit;

您希望summary的输出是什么样的?