我想使用 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)