使用 SAS 对多列求和

Myb*_*rge 4 sas

我想使用 SAS 添加多个列。

数据有:

D C1 C2 C3 C4 C5.....   
J 01 02 00 04 15 
F 05 00 09 11 00  
M 12 14 88 00 00
A 55 03 00 00 00  
M 67 00 00 00 00
Run Code Online (Sandbox Code Playgroud)

我不想这样做

数据需求;

Set Have;  
N1 = C1;  
N2 = C1+C2;  
N3 = C1+C2+C3;  
N4 = C1+C2+C3+C4; 
N5 = C1+C2+C3+C4+C5;
Keep N:    
Run; 
Run Code Online (Sandbox Code Playgroud)

希望我的桌子看起来像这样。

数据表旺旺

D N1  N2  N3  N4  N5.....   
J 01  03  03  07  22 
F 05  05  14  25  00  
M 12  26  114 00  00
A 55  58  00  00  00  
M 67  00  00  00  00
Run Code Online (Sandbox Code Playgroud)

请注意,我将有很多列,并且数量会有所不同。我需要一个动态代码,它将自动计算列数并执行计算。我需要底部三角形保持为 0,而不是继续将其相加。如果像示例中 (J,C3) 的情况那样为零值,它仍然需要执行。我还需要它来保持订单。无法更改数据的顺序。

小智 5

sas sum 函数可以采用如下变量范围:

data work;
    c1=1;
    c2=2;
    c3=3;
    n=sum(of c1-c3);
run;
Run Code Online (Sandbox Code Playgroud)